编辑的文档的子领域:解决方案可以在评论的MongoDB:如何更新(流星)
细心发现:noob问题在未来
我有一个蒙戈集合称为“公司”。下面是一个例子条目:
{
name: 'Company 1',
createdAt: new Date(),
tags: [
{tag: 'tag 1', count: 63},
{tag: 'tag 2', count: 47},
{tag: 'tag 3', count: 13}
]
}
正如在本例中可以看出,公司的标签都保存在对象的数组,每个标签具有记忆标签被点击的频率计数属性。
现在,我想在用户点击标签时增加计数。我在事件处理函数中这样做。我试图做到这一点的方式如下:
第1步:我必须找到相关的公司文件。标签是container-div中的list元素中的“href元素”。里面该div,我能找到该公司的名称,所以我用这个名字来获得相关文件:
var companyName = event.target.parentElement.parentElement.children[1].textContent;
var company = Companies.findOne({name: companyName});
到目前为止是这种情况,但我想,有一个清晰的解决方案。我特别不喜欢孩子[1]的一部分。任何建议?
第2步:现在我有公司,我想增加被点击的标签。这有点令人讨厌,因为我需要选择数组的正确元素进行更新。我有我想要更新的标签的文本(来自event.target.text),但是如何从标签数组中选择正确的对象?我认为这与位置$操作符有关,但我还不知道。
Companies.update({_id: company._id, }, /* MAGIC HAPPENS HERE */);
这里的HTML:
<head>
<title>App</title>
</head>
<body>
<div class="container">
{{> company}}
</div>
</body>
<template name="company">
<h2>{{name}}</h2>
{{#each tags}}
{{> tag}}
{{/each}}
</template>
<template name="tag">
<li><a href="">{{tag}}</a> - {{count}}</li>
</template>
请包括html代码以及 – mwarren 2015-02-11 23:06:10
完成。添加了html。 – Pueggel 2015-02-11 23:16:38
看看[标签包](https://atmospherejs.com/?q=tags),主要是'patrickleet:tags'和使用'autoform'标签。否则,你在正确的轨道上[嵌入标签](https://stackoverflow.com/questions/8455685/how-to-implement-post-tags-in-mongo)。 – 2015-02-11 23:44:49