流星通过数组订阅_id
Meteor subscription _id through array
我正在列一个清单。
用户将能够进行搜索,然后单击搜索到的项目以将相应的 ID 添加到他们的列表中。
下面是我写的代码
Template.searchedItem.events
'click .addToList': function (event, template) {
event.preventDefault();
// _id of the List
var listId = Template.parentData(1)._id;
console.log(listId);
// _id of the searched item
var companyId = this._id;
console.log(companyId);
Meteor.call('addToList', listId, companyId, function (error, result) {
if (error) {
} else {
}
});
}
方法
Meteor.methods({
addToList: function (listId, companyId) {
check(listId, String);
check(companyId, String);
var add = Lists.update({
_id: listId,
companies: {$ne: companyId}
}, {
$addToSet: {companies: companyId},
$inc: {companyCount: 1}
});
return add;
}
});
列表对象
list = {
_id: listId,
name: nameOfList
companies: [
// _ids of added companies
0: 'addedCompanyId',
1: 'someOtherAddedCompanyId',
and so forth...
]
}
从这里开始,我试图制作一个 sub/pub,它仅显示在 list.companies
中添加的公司。
我不知道如何..
我在想这样的事情。
<template name = "list">
{{#each addedCompanies}}
something here
{{/each}}
</template>
Template.list.helpers({
addedCompanies: function () {
companies = this.companies;
return Clients.find(/*something here*/);
}
});
到目前为止,我编写的所有内容都有效。但是我迷失在 return 从 _id
数组中创建游标。
更新
简单地说,我可以return一个来自多个_ids的游标作为查询吗?
是的,您可以 return 从 ID 列表中选择游标。您甚至可以 return 任何有效查询的游标。
Meteor.publish('clientsFromCompanyIds', function(companyIds) {
return Clients.find({companyId: {$in: companyIds}});
});
这就是你要找的吗?
我正在列一个清单。
用户将能够进行搜索,然后单击搜索到的项目以将相应的 ID 添加到他们的列表中。
下面是我写的代码
Template.searchedItem.events
'click .addToList': function (event, template) {
event.preventDefault();
// _id of the List
var listId = Template.parentData(1)._id;
console.log(listId);
// _id of the searched item
var companyId = this._id;
console.log(companyId);
Meteor.call('addToList', listId, companyId, function (error, result) {
if (error) {
} else {
}
});
}
方法
Meteor.methods({
addToList: function (listId, companyId) {
check(listId, String);
check(companyId, String);
var add = Lists.update({
_id: listId,
companies: {$ne: companyId}
}, {
$addToSet: {companies: companyId},
$inc: {companyCount: 1}
});
return add;
}
});
列表对象
list = {
_id: listId,
name: nameOfList
companies: [
// _ids of added companies
0: 'addedCompanyId',
1: 'someOtherAddedCompanyId',
and so forth...
]
}
从这里开始,我试图制作一个 sub/pub,它仅显示在 list.companies
中添加的公司。
我不知道如何..
我在想这样的事情。
<template name = "list">
{{#each addedCompanies}}
something here
{{/each}}
</template>
Template.list.helpers({
addedCompanies: function () {
companies = this.companies;
return Clients.find(/*something here*/);
}
});
到目前为止,我编写的所有内容都有效。但是我迷失在 return 从 _id
数组中创建游标。
更新
简单地说,我可以return一个来自多个_ids的游标作为查询吗?
是的,您可以 return 从 ID 列表中选择游标。您甚至可以 return 任何有效查询的游标。
Meteor.publish('clientsFromCompanyIds', function(companyIds) {
return Clients.find({companyId: {$in: companyIds}});
});
这就是你要找的吗?