没有ref选项的mongoose填充字段

hhs*_*hhs 17 mongoose mongodb node.js

我有3个架构:

var User1Schema = new Schema({
    name: {type:String , trim: true, required: true },
    status: {type:Number, required: true, default:1}
},{collection:"user_1"});
Run Code Online (Sandbox Code Playgroud)

,

var User2Schema = new Schema({
    name: {type:String , trim: true, required: true },
    email: {type: String, required: true, index: {unique: true} },
    status: {type:Number, required: true, default:1}
},{collection:"user_2"});
Run Code Online (Sandbox Code Playgroud)

var ConversationSchema = new Schema( {

    participants: [{user:{type: ObjectId, required: true}],
    creator: {type: ObjectId, required: true},

    status: { type:Number, required: true, default:1 }

}, { collection:"conversation" } );
Run Code Online (Sandbox Code Playgroud)

在ConversationSchema中,我有创建者字段whic现在有ref选项,因为它可以是User1Schema或User2Schema的类型.

如何使用mongoose填充创建者字段

aar*_*ann 24

Conversation.find().populate('creator', null, 'User2').exec(callback)
Run Code Online (Sandbox Code Playgroud)

文档不清晰.将很快更新.

此外,在v3.6中,此语法将更简单.

  • 是的,如果你知道哪个模型是必要的,你可以在查询时指定这个. (2认同)