我在为一个约会应用做 Mongoose 模式。
我希望每个person
文档都包含一个对他们去过的所有事件的引用,其中events
是另一个模式,在系统中有自己的模型。
var personSchema = mongoose.Schema({
firstname: String,
lastname: String,
email: String,
gender: {type: String, enum: ["Male", "Female"]}
dob: Date,
city: String,
interests: [interestsSchema],
eventsAttended: ???
});
3条答案
按热度按时间bvuwiixz1#
您可以使用**Population**执行此操作
填充是将文档中的指定路径自动替换为其他集合中的文档的过程。我们可以填充单个文档、多个文档、普通对象、多个普通对象或查询返回的所有对象。
假设您的事件架构定义如下:
为了展示如何使用populate,首先创建一个person对象,
aaron = new Person({firstname: 'Aaron'})
和事件对象,event1 = new Event({title: 'Hackathon', location: 'foo'})
:然后,当您进行查询时,可以按如下方式填充引用:
型
vfh0ocws2#
要在一个表中引用另一个表的ObjectId,请参考以下代码
2fjabf4q3#
列表项