2016-02-10 4 views
0

Я пытаюсь вернуть массив результатов, используя Mongoose и mongoDB в Node.js.Возврат MongoDB/Mongoose Aggregation Match Первая буква

У меня есть что-то вроде этого, чтобы соответствовать каждый заголовок, который начинается с za, например:

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

Но когда я присвоить результат переменной это просто Aggregate объект, который я не могу определить, что делать с ,

Mongoose документы состояние:

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); 
}); 

Надеюсь, может помочь кто-то еще.

Смежные вопросы