[react]KakaoMap API-データクエリ
前の投稿では、Timeline、CalendarデータがMongoDBに格納されています.以前FEを開発する時APIを呼び出して、偽のデータを返して、今実際のデータを調べてみます
カレンダーデータの照会に必要なパラメータ
bodyにはパラメータ伝達として
いずれにしても,ID呼び出しAPIを装着すれば,サーバ側はそのIDでcalendarデータを検索して返すことができる.
まずMongooseで読むので、もちろん2行目にMongooseを置きます.
処理が必要なCalendarモデルを読む必要があるので、5行目も.
15行目findでwhereセクションを完了
クエリを作成した後、
FE側は、再び
polylineデータを照会する場合、userIdと選択した日付が必要です.
APIを飛ばすときにPOSTで飛ばすのは、上と同じように、身につけてもいいですが、別々に処理しました
以上のようにuserIdとdateをクエリー条件に設定し、結果を返してFEに渡す
呼 APIは、Bodyを超える場合、POSTを として使用する. mongoseの関数find、execを使用すると、クエリーが簡単になります.
calendar.js
0、成果物
1.カレンダの検索
カレンダーデータの照会に必要なパラメータ
userId
万bodyにはパラメータ伝達として
owner:userId
が含まれており、bodyを伝達する場合はapiクラスをPOSTとして使用する必要があります.GETはパラメータが伝わらないようですが、詳しくは後で探しましょう.いずれにしても,ID呼び出しAPIを装着すれば,サーバ側はそのIDでcalendarデータを検索して返すことができる.
まずMongooseで読むので、もちろん2行目にMongooseを置きます.
処理が必要なCalendarモデルを読む必要があるので、5行目も.
15行目findでwhereセクションを完了
find({ 칼럼명 : 조회조건, 칼럼명2: 조회조건2}, ...)
そうしてもいいです.グーグルでやってみてください.find().where(...).where(...)
でもいいです.{$in: 조건}
を類似クエリー条件と呼ぶ.クエリを作成した後、
exec()
関数で実行し、結果を返してFEに入れます.FE側は、再び
response
を結果として、ビジネスロジックに従って処理する.setHighlightArray
、カレンダーでハイライト表示2.Polylineの検索
polylineデータを照会する場合、userIdと選択した日付が必要です.
APIを飛ばすときにPOSTで飛ばすのは、上と同じように、身につけてもいいですが、別々に処理しました
以上のようにuserIdとdateをクエリー条件に設定し、結果を返してFEに渡す
呼
3.ソース
calendar.js
const express = require('express');
const mongoose = require('mongoose');
const router = express.Router();
const multer = require('multer')
const { Calendar } = require('../models/Calendar')
//=================================
// Calendar
//=================================
router.post('/', (req, res) =>{
let userId = req.body.owner
//console.log('>> userId',userId)
Calendar.find({ owner: { $in: userId}})
.exec((err, calendarInfo) => {
if(err) return res.status(400).json({success:false, err})
return res.status(200).json({
success:true,
calendarInfo:calendarInfo
})
})
})
module.exports = router;
polyline.jsconst express = require('express');
const router = express.Router();
const multer = require('multer')
const fs = require('fs')
const moment = require("moment")
const { User } = require("../models/User")
const { Timeline } = require('../models/Timeline')
const { Calendar } = require('../models/Calendar')
const lodash = require('lodash');
//=================================
// Polyline
//=================================
router.post('/datas', (req, res) =>{
let userId = req.body.owner
let inputDate = req.query.date
//console.log('==> inputDate', inputDate)
Timeline.find({ owner: { $in: userId}, date: inputDate})
.exec((err, polylineInfo) => {
if(err) return res.status(400).json({success:false, err})
return res.status(200).json({
success:true,
polylineInfo:polylineInfo
})
})
})
Reference
この問題について([react]KakaoMap API-データクエリ), 我々は、より多くの情報をここで見つけました https://velog.io/@upisdown/React-카카오-Map-API-데이터-조회テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol