Javascript Mongoose等待node.js req.query数据

Javascript Mongoose等待node.js req.query数据,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我正在从事小型后端项目。我通过邮递员将GET请求发送到express.js应用程序。快速向猫鼬发送请求并返回数据 我试图通过编写req.query.data而不是对象名来缩短它。 req.query.data是导入到节点文件的对象名,但mongoose“find”函数将其读取为“req.query.data”,而不是acuall数据 我尝试将req数据放入()中,但它仍然不想读取值。我不知道如何使它工作 代码: const Daily=require(“./DailyStats/DailySc

我正在从事小型后端项目。我通过邮递员将GET请求发送到express.js应用程序。快速向猫鼬发送请求并返回数据

我试图通过编写req.query.data而不是对象名来缩短它。 req.query.data是导入到节点文件的对象名,但mongoose“find”函数将其读取为“req.query.data”,而不是acuall数据

我尝试将req数据放入()中,但它仍然不想读取值。我不知道如何使它工作

代码:

const Daily=require(“./DailyStats/DailySchema”)
module.exports.GetData=async(req,res)=>{
wait Daily.find({“Date.month”:3},函数(err,data){
如果(错误){
控制台错误(err)
}
res.send(数据)
})

}
应该在
猫鼬.模型上调用find

您可以使用
mongoose.model(req.query.data)
假设req.query.data是您的模型名

那就是说你应该

  • 检查提供的数据是否仅为有效的模型名称
  • 更好地命名数据,如modelName

分享一些代码。让我们看看你有没有提供一个演示了这个问题,任何人都很难帮助解决这个问题,没有猜测欢迎到StAccess,请阅读。特别注意。确保用正确的标签(编程语言、相关技术等)标记问题。你在发布一个好的问题上投入的精力越多:一个容易阅读、理解的问题,而且这个问题越容易吸引相关的人,你得到帮助的速度就越快。祝你好运@Brettski Thx 4针头。已经更新在完成您编写的让model=mongoose.model(req.query.type,req.query.type)其中req.query.type是“DailySchema”,作为“Daily”导入到该文件中后,我得到:“MissingSchemaError:Schema尚未注册为“Daily”模型。使用mongoose.model(名称,Schema)”在“model”中我之前传递了Schema让model=mongoose.model(req.query.type,req.query.type)model.find()您不应该给出架构,而应该给出modelName(字符串)。通过声明一次
mongoose.Model('MODELNAME',schema,mongodbCollectionName)
(参见我示例代码的第三行),您就得到了一个mongoose.Model。在您的示例中,您应该在某个地方编写
mongoose.Model('Daily',DailySchema,'dailies')
,在这种情况下,您希望
req.query.data
成为
'Daily'
,并使用
mongoose.model(req.query.data)
“modelname(一个字符串)”。我知道,但我得到了变量内部的值,我尝试添加变量而不是字符串,并在其上添加“.find()”方法。我知道我可以写“Daily”Req.query.type是我从前端发送的“GET”请求中收到的数据。我想将它粘贴为变量,并在itdoes上使用“.find()”方法
req.query.type
将模型名称作为值保存?或者你可以按照我的建议去做,或者你可以找到一种方法来检索关联的模型(或者是一个好的旧开关,或者是一个映射:
m={daily:DailyModel,WeeklyModel};m[req.query.data].find()
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()
  }
})()