大家好,
我正在开发一个电影应用程序来练习我的 Angular 和 Node 技能。我正在使用 Mongoose 来处理我的数据库,目前我正在研究“填充”。
我有以下用户架构,我想知道如何填充我的 ratings
键中的对象。 ratings
是一个对象数组,这些对象看起来像这样 {movie:{type: Schema.Types.ObjectId, ref: 'Movie'}, rating:Number}
。我想知道如何填充该数组中每个对象的电影键。我认为 Node 路由文档中的结构应该如下所示,但我不知道在 .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);
最佳答案
您唯一需要记住的是,populate 中的名称必须采用复数形式。
User.find({'_id':someNumber).populate('movies').exec()
关于javascript - 用 Mongoose 填充字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48665413/