2016-02-10 51 views
0

我想返回一個結果數組,使用MongoosemongoDBNode.js返回MongoDB/Mongoose聚合匹配第一個字母

我有這樣的事情每一個與za啓動例如報頭相匹配:

Model.aggregate(
     { $project: { firstLetter : { $substr : ["$header", 0, 2] }}}, 
     { $match: { firstLetter : 'za' }}, 
     { $limit: 40 } 
    ); 

但是,當我把結果賦值給一個變量,它僅僅是一個Aggregate對象,我不能確定做什麼用。

貓鼬文檔狀態:

The documents returned are plain javascript objects, not mongoose documents (since any shape of document can be returned). 

爲什麼我沒有得到的結果?

回答

0

原來,你需要異步獲取數據,這是有道理的(當然)。

喜歡的東西:

Model.aggregate(
     { $project: { firstLetter : { $substr : ["$header", 0, 2] }}}, 
     { $match: { firstLetter : 'za' }}, 
     { $limit: 40 } 
    ).exec(function(err, data) { 
     doSomethingWithData(data); 
}); 

希望可以幫助別人了。

相關問題