Я пытаюсь использовать оператор findOne для доступа к документу из коллекции в рамках функции преобразования.Как использовать find/findOne вне вспомогательной функции
this.helpers({
posts: function() {
return Posts.find(this.getReactively('filter'), {sort: {createdAt: -1}, transform: function (doc) {
var restaurant = Restaurants.findOne(doc.rest_id);
doc.restaurant = restaurant.name;
doc.neighborhood = restaurant.neighborhood;
return doc;
}});
}
});
Проблема в том, что вызов findOne не возвращает ничего (неопределенный). Аналогично, использование find.fetch() возвращает пустой массив.
После устранения неполадок, я обнаружил, что запуск find или findOne в любом месте моего кода, кроме как непосредственно в качестве помощника (т. Е. Return Posts.find() работает нормально) ничего не возвращает. Я прочитал, что клиент, возможно, не подписался на данные на данный момент, но на клиентской стороне ничего не появляется.
Запуск тех же самых ресторанов.find или findOne отлично работает на консоли, возвращая ожидаемые документы.
Я пытаюсь сделать что-то, что не поддерживается угловым метеор? Поддерживаются ли функции поиска только в контексте помощника?
MongoDB - это база данных, основанная на документе. В такой базе данных вы бы хотели иметь свойства «ресторан» и «окрестности», которые непосредственно определены в коллекции 'Posts'. –
_ «ничего не появляется на стороне клиента» _ или _ «Запуск тех же самых« Ресторанов ». Find или« отлично работает на консоли »_ ..? Если первое верно, то вы не публикуете данные. Если последнее верно, то вы пытаетесь получить доступ к этим данным, прежде чем они будут готовы. –