javascript - 用 Mongoose 填充字段

标签 javascript node.js mongodb mongoose

大家好,

我正在开发一个电影应用程序来练习我的 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/

相关文章:

javascript - jssor 图像 slider 中的随机滑动顺序

Javascript:如果我有像文本一样的对象属性,如何使用它

node.js - 任何人都可以向我解释 socket.io/nodejs 中的 "volatile"消息吗?

javascript - 如何从 JavaScript 中的 URL 获取网站名称?

mongodb - 如何停止错误 "The ordinal 3252 could not be located in the dynamic link library mongod.exe"?

mongodb - Spring Data Mongo Repository更新操作

javascript - 是否有一个函数可以将 TypeScript/Angular 类分解为属性?

node.js - 如何在nodejs中使用sequelize在where子句中使用request.body数组

c# - 尝试更新 MongoDb 数组元素时出错

javascript - 将 getusermedia 数据附加到 mediasource