node.js - 为什么我的 Mongoose 模型即使在传递集合名称后仍返回空白响应?

标签 node.js mongodb mongoose mern mongodb-atlas

我已经使用 Atlas MongoDB 设置了一个名为“nutrition”的 MongoDB 集群,并尝试使用 Mongoose 获取该集群中的文档。即使在架构定义中指定了集合的名称后,我仍然得到一个空白列表 ([])。我可以从 MongoDB Compass 中的集群获取数据,但不能通过我的后端代码获取数据。请帮忙。

数据库连接成功,路由器正确路由到相应的 Controller 。我尝试在模型中定义架构时提及集群的名称,就像大多数解决方案要求的那样。我尝试将其插入 new Schema() 以及 mongoose.model()

这是我的集群中名为“nutrition”的文档:

_id:5c5727667fead009507c0e11
<br>
FoodGroup:"Dairy and Egg Products"
<br>
ShortDescrip:"BUTTER-WITH SALT"<br>
Energy_kcal:"717.0"<br>
Protein_g:"0.85"<br>
Fat_g:"81.11"<br>
Carb_g:"0.06"<br>
Sugar_g:"0.06"<br>
Fiber_g:"0.0"

NutritionModel.js<br>
const mongoose = require('mongoose');<br>
const Schema = mongoose.Schema;<br>
var NutritionSchema = new Schema({<br>
    _id: Object,<br>
    FoodGroup: String,<br>
    ShortDescrip: String,<br>
    Energy_kcal: String,<br>
    Protein_g: String,<br>
    Fat_g: String,<br>
    Carb_g: String,<br>
    Sugar_g: String,<br>
    Fiber_g: String<br>
});<br>
module.exports = mongoose.model('Nutrition', NutritionSchema, 'nutrition');<br>

NutritionController.js<br>
const Nutrition = require('../Models/nutritionModel');<br>
exports.nutritionDetails = function (req, res){<br>
    Nutrition.find({}, function (err, products) {<br>
        if (err) <br>
            res.send(err);<br>
        res.send(products);     //This is always blank!<br>
    });<br>
};

最佳答案

这可能是您模型中的 _id 声明。你说类型是一个对象。尝试将其设为 ObjectId,如下所示:

_id: {
  type: mongoose.Types.ObjectId
}

关于node.js - 为什么我的 Mongoose 模型即使在传递集合名称后仍返回空白响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54509559/

相关文章:

javascript - 显示从nodejs服务器发送的文件数据,就像在angularjs中一样

javascript - Express + EJS - 将参数传递给 EJS View

javascript - JWT如何绕过某些API路由和http方法

javascript - 如何使用 javascript 在 mongodb 中引发自定义错误

mongodb - 通过 Mongo DB .NET 驱动程序以编程方式为 Azure Cosmos DB 创建数据库和集合

node.js - 在 Heroku 中通过 Node 连接到 Redis 数据库

javascript - 在mongodb中插入数据时添加条件

node.js - 使用 mongoose 时,geoNear() 无法按预期工作

node.js - 使用 NodeJS 重构 mongoose 集合模型

mongodb - Node、Mongo 和 Mongoose 的新手问题