我只需要将字符串添加到数组中,这是我的代码:
Meteor.users.update(this.userId, {$push: {follow:{memberId}}});
但它在数据库中创建了一个对象,如下所示:
"follow" : [
{
"memberId" : "Yuzy5hHskjHwRu3TS"
}
]
我需要的是这样的:
"follow":["Yuzy5hHskjHwRu3TS"]
我做错了什么?
我尝试了$addToSet
同样的结果。
答案 0 :(得分:1)
由于你已将花括号内的变量包围起来,因此mongo认为你想插入一个文档数组。 在您的情况下,插入元素的正确方法是
db.collection.update({_id:5} , {$push : { "follow" : "123" } })
答案 1 :(得分:1)
正如@Barney所说,你只需要一套额外的花括号:
Meteor.users.update(this.userId, {$push: {follow: memberId }});