为了账号安全,请及时绑定邮箱和手机立即绑定

mongoose 数据查询问题?

mongoose 数据查询问题?

PIPIONE 2019-05-10 15:49:53
需求描述: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}]}
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

populate
varthemeSchema=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里面
                            
查看完整回答
反对 回复 2019-05-10
  • 2 回答
  • 0 关注
  • 490 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信