栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在我的Mongoose模式中引用另一个模式?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在我的Mongoose模式中引用另一个模式?

您可以使用 人口 来描述它

填充是用其他集合中的文档自动替换文档中指定路径的过程。我们可以填充单个文档,多个文档,普通对象,多个普通对象或查询返回的所有对象。

假设您的事件模式定义如下:

var mongoose = require('mongoose')  , Schema = mongoose.Schemavar eventSchema = Schema({    title     : String,    location  : String,    startDate : Date,    endDate   : Date});var personSchema = Schema({    firstname: String,    lastname: String,    email: String,    gender: {type: String, enum: ["Male", "Female"]}    dob: Date,    city: String,    interests: [interestsSchema],    eventsAttended: [{ type: Schema.Types.ObjectId, ref: 'Event' }]});var Event  = mongoose.model('Event', eventSchema);var Person = mongoose.model('Person', personSchema);

为了显示如何使用填充,首先创建一个人员对象

aaron = new Person({firstname: 'Aaron'})
和一个事件对象
event1= new Event({title: 'Hackathon', location: 'foo'})

aaron.eventsAttended.push(event1);aaron.save(callback);

然后,当您进行查询时,可以填充如下引用:

Person.findOne({ firstname: 'Aaron' }).populate('eventsAttended') // only works if we pushed refs to person.eventsAttended.exec(function(err, person) {    if (err) return handleError(err);    console.log(person);});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413280.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号