猫鼬人口参考

时间:2014-01-14 14:59:45

标签: node.js mongoose

惠!

这是http://mongoosejs.com/docs

的示例
var personSchema = Schema({
   _id     : Number,
   name    : String,
   age     : Number,
   stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});

var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title    : String,
fans     : [{ type: Number, ref: 'Person' }]
});
var Story  = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);

Story
.findOne({ title: 'Once upon a timex.' })
.populate('_creator')
.exec(function (err, story) {
if (err) return handleError(err);
console.log('The creator is %s', story._creator.name);
// prints "The creator is Aaron"
})

这就是我的代码我'_creator'不是一个数组而是一个对象数组:

var storySchema = Schema({
   _creator : [{
       _id : { type: Number, ref: 'Person' }, 
       quantity : Number
   }],
   ...
});

我的要求是:

Story
.findOne({ title: 'Once upon a timex.' })
.populate('_creator._id')
.exec(function (err, story) {
if (err) return handleError(err);
console.log('The creator is %s', story._creator.name);
// prints "The creator is Aaron"
})

但是这个解决方案'populate('_ creator._id')'不起作用。

你有个主意吗?

谢谢!

0 个答案:

没有答案