Meteor $ push添加了对象 - 只需要一个字符串值

时间:2016-07-08 19:37:09

标签: mongodb meteor mongodb-query

我只需要将字符串添加到数组中,这是我的代码:

Meteor.users.update(this.userId, {$push: {follow:{memberId}}});

但它在数据库中创建了一个对象,如下所示:

"follow" : [ 
    {
        "memberId" : "Yuzy5hHskjHwRu3TS"
    }
]

我需要的是这样的:

"follow":["Yuzy5hHskjHwRu3TS"]

我做错了什么?

我尝试了$addToSet同样的结果。

2 个答案:

答案 0 :(得分:1)

由于你已将花括号内的变量包围起来,因此mongo认为你想插入一个文档数组。 在您的情况下,插入元素的正确方法是

db.collection.update({_id:5} , {$push : { "follow" : "123" } })

答案 1 :(得分:1)

正如@Barney所说,你只需要一套额外的花括号:

Meteor.users.update(this.userId, {$push: {follow: memberId }});