[英]Populate a field with Mongoose
好了朋友們,
我正在開發一個電影應用程序,以練習我的角度和結點技能。 我正在使用貓鼬來處理我的數據庫,此刻我正在尋找“人口”。 我具有以下用戶架構,我想知道如何在我的ratings
密鑰中填充對象。 ratings
是一個對象數組,這些對象看起來像這樣{movie:{type: Schema.Types.ObjectId, ref: 'Movie'}, rating:Number}
。 我想知道如何填充該數組中每個對象的影片鍵。 我認為節點路由文檔中的結構應如下所示,但我不知道在.populate()
輸入什么。
User.find({'_id':someNumber).populate(noIdeaWhatToWriteHere).exec()
user.js模型
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mongooseUniqueValidator = require('mongoose-unique-validator');
var schema = new Schema({
firstName: {type: String, required: true},
lastName: {type: String, required: true},
password: {type: String, required: true},
email: {type: String, required: true, unique:true},
ratings: [{movie:{type: Schema.Types.ObjectId, ref: 'Movie'}, rating:Number}],
reviews: [{movie:{type: Schema.Types.ObjectId, ref: 'Movie'}, review:String}]
}, { usePushEach: true });
schema.plugin(mongooseUniqueValidator);
module.exports = mongoose.model('User', schema);
您唯一需要記住的是,填充中的名稱必須使用復數形式。
User.find({'_id':someNumber).populate('movies').exec()
我找到了解決方案:
我使用了.populate('ratings.movie'),現在可以了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.