2016-05-03 3 views
0

Я могу преуспеть, используя цикл над результатами и добавляя каждый документ по this.added, чтобы выполнить агрегацию.

Однако, когда я попытался использовать способ $out, я потерпел неудачу. Моя клиентская сторона получила 0 результатов.

Meteor.publish('anotherCollection', function() { 
    OneCollection.aggregate([ 
    // some pipelines here, 
    { $out: 'anotherCollection' } 
    ]); 

    this.ready(); 
} 

Я использую Meteor 1.3.2.4 с метеорными атаками: совокупная упаковка. Моя версия mongo - 2.6, которая должна поддерживать $out.

Как правильно использовать $out путь в Метеор? Спасибо

+1

Не, что публиковать метод должен возвращать что-то? –

+0

@RobertMoskal Я понимаю, что '$ out' сделал работу this.added. Но так как 'this.added' является API Meteor, а' $ out' принадлежит Mongo. Так может быть, поэтому я не могу получить результаты? –

+0

@RobertMoskal спасибо toooo !! вы указали ошибку тоже –

ответ

1

Вам нужно переместить результат агрегации в annotherCollection и опубликовать это.

Так что ваше использование aggregate и $out является правильным, но publishers необходимо вернуть курсор так, что вам нужно return (annotherCollecitonVar.find())

+1

спасибо sooooooo много !! Он снова работает! –