我正在尝试对mongodb
进行.populate
Users schema
查询,以检索用户正在参加的documents
events
列表。我有两个Mongodb
架构。
我尝试过很多方面,包括:
Users.findById(req.params.id)
.populate('ticketsBought') // will return all event documents referenced in this ticketsBought Array
.exec(function (err, results) {
if (err) throw err; res.json(results);
});
以及我之后删除的我自己的版本:
var schema = new Schema({
name: String
, em: [{ arr: [{ person: { type: Schema.ObjectId, ref: 'Person'}}] }]
});
A.findById(id).populate('em.arr.person').exec(function (err, doc) {
console.log(doc.em[0].arr[0].person instanceof mongoose.Document) // true
})
用户拥有:
ticketsBought: {
type: [mongoose.Schema.Types.ObjectId],
ref: 'Events',
default: []
},
和活动有:
attending: {
type: [mongoose.Schema.Types.ObjectId],
ref: 'Users'
},
我已经尝试了populate
https://github.com/Automattic/mongoose/wiki/3.6-Release-Notes#added-documentpopulatedpath的所有示例,我得到的只是一个空数组或一组mongo ObjectId
。