如果有人能指出我正确的方向,我会很感激!我有一个应用程序将csv上传到mongo,然后在meteor中发布。在Template.onCreated中我订阅了它并且在Template.helper中我试图遍历mongo游标以获取要在表中显示的值。
Template.table.onCreated(function() {
Template.instance().subscribe('contacts');
});
Template.table.helpers({
contact() {
var contactCursor = Contacts.find();
return contactCursor;
}
});
我尝试过cursor.fetch()并映射但没有任何渲染或chrome崩溃。我的表看起来像这样:
<tr>
<td>
{{#each contact}}
{{contact}}
{{/each}}
</td>
</tr>
我能够在表格中呈现的是
[object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]
没什么。如果有人可以帮助我,我是meteor / blaze的新手,无法弄清楚如何迭代光标。 mongo集合看起来像这样:
{ "_id" : "Mzb6a9uh3948vw", "contact" : [ { "emailAddress" : "glen@example.com", "someContact" : "No", "creationDate" : "N/A", "bounceBack" : "N/A", "unsubscribed" : "N/A" } ] }
我想在表格中做这样的事情:
{{#each cursor}}
{{emailAddress}}
{{someContact}}
{{createdDate}}
{{bounceBack}}
{{unsubscribed}}
{{/each}}
感谢
答案 0 :(得分:1)
尝试:
//helper
contacts() {
var contactCursor = Contacts.find();
return contactCursor;
}
//html
{{#each contacts}}
{{#each contact}}
<p>email: {{emailAddress}</p>
{{/each}}
{{/each}}
另外,为什么你必须像
一样{ "_id" : "Mzb6a9uh3948vw",
"contact" : [ { "emailAddress" : "glen@example.com", "someContact" : "No", "creationDate" : "N/A", "bounceBack" : "N/A", "unsubscribed" : "N/A" } ]
}
而不是:
"_id" : "Mzb6a9uh3948vw",
"emailAddress" : "glen@example.com",
"someContact" : "No",
//the rest
然后您可以像{{emailAddress}} //returns "glen@example.com"
,{{someContact}} //returns "No"
修改强>:
您可以将联系人单独插入联系人集合,并通过为每个联系人集合保存相关ID来返回这些联系人。让我们说一个用户的联系人。您在插入中保存userId然后返回如下:
Contacts.find({userId: Meteor.userId()});
您也可以从您的出版物中进行此操作,我认为在大多数情况下这样做更好。
答案 1 :(得分:0)
您的contact
助手返回一个游标,其对象嵌套了一个名为contact
的数组。您还必须迭代该数组:
{{#each contact}}
id: {{_id}}
{{#each this.contact}}
email address: {{emailAddress}}
some contact?: {{someContact}}
creation date: {{creationdate}}
bounce back: {{bounceBack}}
unsubscribed?: {{unsubscribed}}
{{/each}}
{{/each}}