我有两个集合User和Taxdetails ,我想要来自User 的姓名和电话号码以及来自Taxdetails 的付款详细信息,加入 两个集合中的user_id。
我正在这样做:
User
.find()
.exec(function(err, userDetails) {
if (err) {
console.log("error in user collection");
res
.status(400)
.json({ 'message':'error','success':false });
} else {
var userid = userDetails.map(function(obj) {
return obj._id;
});
Taxdetail
.find()
.exec({ user_id : { $in : userid } },function(err, requests) {
if(err){
console.log("error in TaxDetails collection");
res
.status(400)
.json({ 'message':'error','success':false });
}else{
console.log("Success, got some data");
res
.status(200)
.json(requests);
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
您可能希望在用户模式中使用引用的模式,然后像这样填充它:
var taxDetailSchema = new Schema({
title: String
});
var taxDetail = mongoose.model('taxDetail', taxDetailSchema);
var userSchema = new Schema({
name: String,
taxDetails: [{ type: Schema.Types.ObjectId, ref: 'taxDetail' }]
});
Run Code Online (Sandbox Code Playgroud)
您的查询将如下所示:
User
.find()
.populate('taxDetails')
.exec(function(err, users) {
});
Run Code Online (Sandbox Code Playgroud)
应该users看起来像这样:
[
{
name: 'Some Name',
taxDetails: [
{ title: 'Some Title' },
{ title: 'Some other Title' }
]
}
]
Run Code Online (Sandbox Code Playgroud)
猫鼬文档在这里
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
17170 次 |
| 最近记录: |