mongoose 数据查询问题?

需求描述:mongodb中有两个collection,theme存储主题的主要信息,同时包含有产品id的数组,现在想通过产品的详细id找出products中产品的详细信息,应该如何查询呢?或者有更好的设计思想吗?
theme(主题)
{
'thmemId':'001',
'title':'theme1',
'productsId':[1,2,5]
}
products(产品)
{
'id':'1',
'title':'玩具',
'price':25
},
{
'id':'2',
'title':'鲜花',
'price':12
},
{
'id':'5',
'title':'电脑',
'price':4000
}
最终想实现的效果如下:
{
'thmemId':'001',
'title':'theme1',
'productsId':[
{
'id':'1',
'title':'玩具'
'price':25
},
{
'id':'2',
'title':'鲜花'
'price':12
},
{
'id':'5',
'title':'电脑'
'price':4000
}
]
}
PIPIONE
浏览 491回答 2
2回答

倚天杖

populatevarthemeSchema=Schema({...productsId:[{type:Number,ref:'Products'}]//官方推荐ObjectId});varproductsSchema=Schema({_id:Number,//ObjectId});varTheme=mongoose.model('Theme',themeSchema);varProducts=mongoose.model('Products',productsSchema);Theme.findOne({thmemId:'001'}).populate('productsId').exec(function(err,story){if(err)returnhandleError(err);});使用populate查询处理的数据会到Products查找然后自动填充到productsId里面
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript