Node.js Mongoose模式引用一对多
我想用Mongoose建立一个一对多的引用,但我不想保留ID列表 我所拥有的: 菜单分类模式 menuItemSchema Mongo Collection菜单项: Mongo Collection菜单分类: 预期结果:Node.js Mongoose模式引用一对多,node.js,mongodb,mongoose,schema,relationship,Node.js,Mongodb,Mongoose,Schema,Relationship,我想用Mongoose建立一个一对多的引用,但我不想保留ID列表 我所拥有的: 菜单分类模式 menuItemSchema Mongo Collection菜单项: Mongo Collection菜单分类: 预期结果: 我可以使用menuCategory填充menuItem,但我希望使用另一种方法。除非您将menuItem中的ObjectId数组存储在menuCategory集合中,否则我不知道如何执行此操作。这应该非常简单,只需使用类别id查找并填充每个项目。我想mongoose没有任何实现
我可以使用menuCategory填充menuItem,但我希望使用另一种方法。除非您将menuItem中的ObjectId数组存储在menuCategory集合中,否则我不知道如何执行此操作。这应该非常简单,只需使用类别id查找并填充每个项目。我想mongoose没有任何实现
var schema = new Schema({
menuItem: [{
type: Schema.ObjectId,
ref: 'menuItem'
}],
icon: String,
name: String
});
var schema = new Schema({
menuCategory: {
type: Schema.ObjectId,
ref: 'menuCategory'
},
name: String,
path: String
});
{
"_id" : ObjectId("54be856e9ba3a972e4dc924e"),
"menuCategory" : ObjectId("54be84919ba3a972e4dc924d"),
"name" : "I am a menu item",
"path" : "/item/path"
}
{
"_id" : ObjectId("54be84919ba3a972e4dc924d"),
"icon" : "awsome",
"name" : "Main Category"
}
var menuCategory = require('./models/menuCategory');
menuCategory.find({}).populate('menuItem').exec(function(err,result){
console.log(result);
})
{
"_id": ObjectId("54be84919ba3a972e4dc924d"),
"icon": "awsome",
"name": "Main Category"
"menuItem": [{
"_id": ObjectId("54be856e9ba3a972e4dc924e"),
"menuCategory": ObjectId("54be84919ba3a972e4dc924d"),
"name": "I am a menu item",
"path": "/item/path"
}]
}