我正在努力学习Meteor / Mongo,但每当你想要取得进步时,一件“简单的事情”似乎完全无法实现......
我有一个非常简单的文件:
_id : abcd
field : xyz
subdoc [
{_id: 123, email: abc, name: abc}
{_id: 234, email: abc, name: xyz}
{_id: 853, email: abc, name: pmu}
]
我想返回所有子文档的列表。 换句话说,我想在我的HTML模板中使用“each”获得这样的列表:
_id: 123 email: abc name: abc
_id: 234 email: abc name: xyz
_id: 853 email: abc name: pmu
但是我完全无法用.dot表示法获得任何结果。 任何线索?
非常感谢..
答案 0 :(得分:1)
myCollection.find({_id: 'abcd'}).fetch().forEach(function(item) { return item.subdoc; });
使用findOne 甚至更简单
myCollection.findOne({_id: 'abcd'}).subdoc;
注意:
在2种情况下,_id
只返回一个文档(因为_id是唯一的),您将获得子文件数组。
如果您使用第一个解决方案并且您的查询返回多个文档,那么您将获得一个数组数组。
如果您想要的是阵列数组中的平面数组,则需要展平该数组
使用下划线
flattened = _.flatten(nestedArray)