簡體   English   中英

Mongoose 等待 node.js req.query 數據

[英]Mongoose await for node.js req.query data

我正在從事小型后端項目。 我通過 postman 向express.js應用程序發送 GET 請求。 mongoose快速發送請求並返回數據。

我試圖通過編寫 req.query.data 而不是 object 名稱來縮短它。 req.query.data是導入到節點文件的 object 名稱,但mongoose “find” function 將其讀取為“req.query.data”而不是 acu

我嘗試將 req 數據放入 () 但它仍然不想讀取值。 我不知道如何使它工作

代碼:

 const Daily = require("./DailyStats/DailySchema") module.exports.GetData = async (req, res) => { await Daily.find({"Date.month": 3}, function (err, data) { if(err){ console.error(err) } res.send(data) }) }

我想要的是

    await (req.query.data).find({"Date.month": 3}, function (err, data) {
        if(err){
            console.error(err)
        }
        res.send(data)
    })

使用第二個代碼時出現錯誤“無法在 req.query.data 上使用方法查找”

find 應該在mongoose.Model上調用

您可以使用mongoose.model(req.query.data)假設 req.query.data 是您的 model 名稱

那就是說你應該

  • 檢查提供的數據是否只是有效的 model 名稱
  • 更好地命名數據,例如 modelName
const mongoose = require('mongoose')
mongoose.connect('mongodb://localhost:27017/dummy')
const NameModel = mongoose.model('Name', { name:String }, 'names')

;(async()=>{
  try {
  console.log(mongoose.model('Name') === NameModel) // true
  } finally {
    mongoose.disconnect()
  }
})()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM