2013-02-07 59 views
0

我想在mapReduce之後填充字段。如何使用Mongoose.js填充mapReduce之後的字段?

mongoose.connection.db.collection('createdCollectionNameForResults', function(err, collection) { 
    collection.find({}).populate('ref_field').toArray(function(err, items) { 
      res.send(200, items) 
    }); 
}); 

但在這裏,它提供了錯誤:

類型錯誤:對象#有沒有方法 '填充'

因爲collection.find({})返回MongoDB的光標。我如何填充ref_field?

+0

你調用'在本地驅動程序收集find'。您需要在Mongoose模型上調用'find'來使'populate'工作。 – JohnnyHK

+0

是的,但我應該怎麼做? – Burak

+0

爲您的集合創建一個模式和模型,您的mapReduce創建,然後像任何其他貓鼬模型一樣查詢它。請參閱[docs](http://mongoosejs.com/docs/populate.html)。 – JohnnyHK

回答

1

考慮,你有貓鼬註冊的模式命名爲「createdCollectionNameForResults」

var Model = mongoose.model('createdCollectionNameForResults'); 
Model.find({}).populate('ref_field').exec(function(err, results){ 
    console.log(err, results); 
});