将元素添加到meteor中的数组collections.update

时间:2014-02-20 12:10:36

标签: javascript arrays mongodb meteor

    Polls.update({_id: id}, {$set : {already_voted[length]: ip});

现在这显然不起作用。我不能简单地在其中加上变量“length”。

基本上我有already_voted这是一个数组,我想在这个数组中添加一个新的ip。我目前处理这种方式的方法是获取旧的长度并使用旧的长度作为添加元素的新索引。

我想知道我应该怎样做,因为我当前的设置不起作用。

澄清:我没有整个数组,我只是想在Poll文档的数组中添加一个新元素。

2 个答案:

答案 0 :(得分:27)

使用$push Mongo运算符:

Polls.update({ _id: id },{ $push: { already_voted: ip }})

请参阅文档here

答案 1 :(得分:2)

在meteor中将元素添加到集合中非常容易:

collection.update({_id: "unique id"},{$push:{already_voted: ip}});

您甚至可以根据您的要求使用upsert而不是更新。 像这样的东西:

collection.upsert({_id: "unique id"},{$push:{already_voted: ip}});