在我的Meteor应用程序中,我已经有一个集合fullList = new Mongo.Collection('fullList');
,它是一个对象数组,每个对象都有几个属性,例如Color,Factor和Tot。
我想创建一个新集合 - 或者至少只是一个新数组 - 即所有Tot值的数组。如果有意义的话,伪代码就像newList = fullList.Color
一样。
我知道如何使用{{Color}}
在html中显示一个属性,但我似乎无法用JavaScript做任何事情。
如果它是相关的,我想要这个数组的原因是我想使用D3.js来表示这些数据。
答案 0 :(得分:1)
听起来您的集合是一组文档(在Mongo术语中),每个文档都是一个序列化对象,而不是实际存储数组的单个文档集合。在这种情况下,您应该能够在集合游标上使用内置的map
函数。文档在这里:
http://docs.meteor.com/#/full/map
这看起来像(仅使用回调中的document参数):
fullList = new Mongo.Collection('fullList');
newlist = fullList.find().map(function(document) {
return document.Tot;
});
map()
将迭代集合中的所有文档 - 因为没有参数传递给find()
- 并且对于每个文档,将一个项添加到数组(分配给newList
),是回调函数返回的值,在本例中为Tot
。