簡體   English   中英

用貓鼬填充字段

[英]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.movi​​e'),現在可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM