有没有办法在结果中加入2个子文档?
示例:
我有出版商,出版物有出售的包裹和书籍。 我想要的只是展示他们想要出售的包裹。
以下是我的发布商文档:
{
_id: ObjectId('1')
name: "Publisher name 1"
...
packages : [{
_id: ObjectId('p111'),
books: [2222, 3333] //Books IDs
},{
_id: ObjectId('p222'),
books: [4444, 5555] //Books IDs
}],
books: [{
_id: ObjectId('2222'),
name: "Book 2"
},{
_id: ObjectId('3333'),
name: "Book 3"
},
...
]
}
查询:
Publisher.find({_id: 1}, {packages: 1}...);
我想要的是这个结果:
{
_id: ObjectId('1')
name: "Publisher name 1"
...
packages : [{
_id: ObjectId('p111'),
books: [{
_id: ObjectId('2222'),
name: "Book 2"
}, {
_id: ObjectId('3333'),
name: "Book 3"
}] //Books IDs
}
}
答案 0 :(得分:0)
看一下website中的以下代码,我认为它可以解决您的目的。您可以自定义问题的解决方案。
Person
.find({ occupation: /host/ })
.where('name.last').equals('Ghost')
.where('age').gt(17).lt(66)
.where('likes').in(['vaporizing', 'talking'])
.limit(10)
.sort('-occupation')
.select('name occupation')
.exec(callback);