Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在mongoose中填充返回_id的数组_Node.js_Mongodb_Mongoose_Mongoose Populate - Fatal编程技术网

Node.js 在mongoose中填充返回_id的数组

Node.js 在mongoose中填充返回_id的数组,node.js,mongodb,mongoose,mongoose-populate,Node.js,Mongodb,Mongoose,Mongoose Populate,我正在通过MERN stack为goodreads创建模拟 当我使用populate检索特定用户的书籍时,它返回空数组,我做了很多搜索,但都是徒劳的 这是我的模型 const userSchema =new mongoose.Schema({ firstName:{ type:"string",required:true }, books:[{ book:{type:mongoose.Schema.Types.ObjectId,ref:'Book'},rate:Number,sh

我正在通过MERN stack为goodreads创建模拟 当我使用populate检索特定用户的书籍时,它返回空数组,我做了很多搜索,但都是徒劳的 这是我的模型

const userSchema =new mongoose.Schema({
firstName:{
    type:"string",required:true
},
books:[{
    book:{type:mongoose.Schema.Types.ObjectId,ref:'Book'},rate:Number,shelve:''
}]});
这是图书模型

const bookSchema =new mongoose.Schema({
title :{
    type:"string",required:true
}});
这就是我使用populate的方式

router.get("/one", (req, res, next) => {
User.find({firstName : "John"}).populate("books.book").exec(function (err, user) { 
    res.json(user)
 });
})
这就是JSON的结果

[{"_id":"5c70f299ef088c13a3ff3a2c","books":
[{"_id":"5c708c0077a0e703b15310b9"},{"_id":"5c708c0077a0e703b15310ba"},
 {"_id":"5c708c0077a0e703b15310bb"},{"_id":"5c708c0077a0e703b15310bd"}]}]

我认为这是一个如何定义
UserSchema
的问题。我的假设是,将
比率
书架
包含在
书籍
的定义中是问题的根源


尝试删除这些字段以开始,然后只填充
books
,而不是
books.book
。如果这行得通的话,我真的会重新考虑把这些字段放在你有它们的地方。在我个人看来,我认为它们在
BookSchema
中似乎更好,因为
UserSchema
中的每一本书都有
比率和
书架。希望这有帮助

我认为这是如何定义
用户模式的问题。我的假设是,将
比率
书架
包含在
书籍
的定义中是问题的根源


尝试删除这些字段以开始,然后只填充
books
,而不是
books.book
。如果这行得通的话,我真的会重新考虑把这些字段放在你有它们的地方。在我个人看来,我认为它们在
BookSchema
中似乎更好,因为
UserSchema
中的每一本书都有
比率和
书架。希望这有帮助

我试过了,但什么也没发生,当我只使用书本时,返回一个空数组。我试过了,但什么也没发生,当我只使用书本时,返回一个空数组