2016-02-10 53 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); 
}); 

希望可以帮助别人了。

相关问题