2015-06-10 7 views
0

Я пытаюсь использовать populate, чтобы возвращать результаты, которые ссылаются на модель Stamp, под массив пользователей штампов, но по какой-то причине он не возвращает никаких результатов, когда я вижу в базе данных список штамп идентификаторы в массиве марок ...Mongoose populate не возвращает результаты

Вот мой код:

var selectQuery = "_id name"; 
    var populateQuery = [{path:'stamps', select: selectQuery, model: 'Stamp', }]; 
    User.findOne({_id: userId}).populate(populateQuery).sort({date: -1}).skip(count).limit(100).exec(function(err, results) { 
     if(err) { 

Вот схема пользователя

var mongoose = require('mongoose'), 
Schema = mongoose.Schema, 
ObjectId = mongoose.Schema.Types.ObjectId, 
var Stamp = require('../models/stamp.js'); 

var User = new Schema({ 
    name: { type: String}, 

    stamps: [{ type: ObjectId, ref: 'Stamp' }], 

ответ

1

"запрос" форма populate Безразлично 't взять массив в качестве аргумента, но объект:

// `model` can be left out as Mongoose will look that up in the schema 
var populateQuery = { path : 'stamps', select : selectQuery };