1
我一直试图从没有任何运气的嵌套集合中获取数据,除了使用HTML中的点符号似乎没有任何工作。流星渲染来自嵌入式嵌套集合的数据
我想要的基本上是从嵌套集合中获取我需要的数据。我试图为图像和音频文件构建文件上传,然后使用这些文件的简单方法。我使用的是cfs:standard-packages和cfs:filesystem软件包。
下面的代码显示了我不想要的东西的一个工作示例,例如获取整个文件对象并检索html中的数据。如果我可以在mongo命令中使用点符号,那么它是完美的。我也可以解决_each,但我更愿意提取每个数据库调用所需的数据。正如你所看到的,我在这里为整个文件对象传递一个id。 Uploads.find({_id:Session.get('getpic')});
顺便说一句,实际的文件存储在我的本地服务器上的文件夹中。
收集:
{
"_id" : "DXFkudDGCdvLpPALP",
"original" : {
"name" : "drink.png",
"updatedAt" : ISODate("2015-04-30T07:14:56.000Z"),
"size" : 127944,
"type" : "image/png"
},
"uploadedAt" : ISODate("2015-07-11T21:53:32.526Z"),
"copies" : {
"uploads" : {
"name" : "drink.png",
"type" : "image/png",
"size" : 127944,
"key" : "uploads-DXFkudDGCdvLpPALP-drink.png",
"updatedAt" : ISODate("2015-07-11T21:53:32.000Z"),
"createdAt" : ISODate("2015-07-11T21:53:32.000Z")
}
}
}
HTML
<template name="renderImages">
{{#each showpic}}
<img width="300" height="300" src="/projectuploads/{{copies.uploads.key}}"/>
{{/each}}
的Javascript:
Template.renderImages.helpers({
showpic: function() {
return Uploads.find({_id:Session.get('getpic')});
}
});
感谢您的回答。很抱歉,我仍然收到整个文件对象。我已经在{{key}}左边的html和{fields:{'copies.uploads':1}})中尝试了这一点。和{fields:{'copies.uploads.key':1}}); 此外,还使用{{#each}}和{{showpic}}而不是{{key}} {{'copies.uploads.key':1}})。 是的,这只是一个工作示例,在真实应用中使用发布/订阅。谢谢。编辑:也试过.fetch()和.findOne – From
你必须迭代通过上传对象,这可能是不可能的,其他从HTML或通过js中的_each?无论如何,在db中执行操作的性能不是一个好主意? – From