Я хочу дать пользователям кнопку, чтобы добавить идентификатор документа из одной коллекции (вместе с их именем группы) в другую коллекцию.Метеор, если помощник - как получить доступ к этим данным в каждом цикле
У меня есть цикл #each, который возвращает каждый документ из первой коллекции с помощью вспомогательного запроса шаблона. Внутри каждого возвращаемого документа мне нужно проверить, был ли идентификатор добавлен в другую коллекцию, и в зависимости от результата помощник #if в html возвращает другой вывод.
Но «это» возвращает пустой объект, и я не знаю, как пройти каждый «этот» контекст данных в «inCollectionTwo» помощника:
<template name="Collections">
{{#each doc in colOne}}
{{#if inCollection2}}
{{> rmvfrmcolTwo doc=doc}}
{{else}}
{{> addtocolTwo doc=doc}}
{{/if}}
{{/each}
</template>
Помощники
Template.Collections.helpers({
colOne: function() {
return CollectionOne.find();
},
inCollectionTwo: function(){
var docid = this.colOne._id;
var group = Meteor.user().profile.groupName;
var exists = CollectionTwo.findOne({documentid: docid, groups: { "$in": [group]}});
if(exists) {
return true;
} else {
return false;
}
}
});
спасибо за вход @chazsolo, на первом примечании, это была просто оговорка транспонирования с моей стороны. Я просто переименовал шаблон, помощники и коллекции для удобства чтения здесь. Но по вашему второму пункту, «это» само по себе все еще возвращает пустой объект. Я пробовал это до публикации и должен был упомянуть. – edoras
@edoras вы также можете попробовать перейти в «doc» к помощнику в качестве параметра, а затем получить доступ к нему. Например: '{{#if (inCollectionTwo doc)}}' - я обновил свой ответ, чтобы отразить это – chazsolo
еще раз спасибо @chazsolo, прохождение в доке сделало трюк! – edoras