Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Meteor$push添加对象-只需一个字符串值_Mongodb_Meteor_Mongodb Query - Fatal编程技术网

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

Mongodb Meteor$push添加对象-只需一个字符串值,mongodb,meteor,mongodb-query,Mongodb,Meteor,Mongodb Query,我只需要将字符串添加到数组中,以下是我的代码: Meteor.users.update(this.userId, {$push: {follow:{memberId}}}); 但它会在数据库中创建一个对象,如下所示: "follow" : [ { "memberId" : "Yuzy5hHskjHwRu3TS" } ] "follow":["Yuzy5hHskjHwRu3TS"] 我需要的是这样的: "follow" : [ {

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

Meteor.users.update(this.userId, {$push: {follow:{memberId}}});
但它会在数据库中创建一个对象,如下所示:

"follow" : [ 
    {
        "memberId" : "Yuzy5hHskjHwRu3TS"
    }
]
"follow":["Yuzy5hHskjHwRu3TS"]
我需要的是这样的:

"follow" : [ 
    {
        "memberId" : "Yuzy5hHskjHwRu3TS"
    }
]
"follow":["Yuzy5hHskjHwRu3TS"]
我做错了什么


我尝试了
$addToSet
,得到了相同的结果。

因为您将变量包围在大括号中,mongo认为您想要插入一个文档数组。 在您的情况下,插入元素的正确方法是

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

由于您将变量包围在大括号内,mongo认为您希望插入一个文档数组。 在您的情况下,插入元素的正确方法是

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

正如@Barney所说,你只需要多加一套花括号:

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

正如@Barney所说,你只需要多加一套花括号:

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

可能的原因是memberId周围的花括号。如果您删除这些,那么您将看到预期的结果。update({u id:5},{$push:{“follow”:“123”})工作得很好,非常感谢。为什么不创建一个答案,我接受呢?可能的原因是memberId周围的花括号。如果您删除这些,那么您将看到预期的结果。update({u id:5},{$push:{“follow”:“123”})工作得很好,非常感谢。你为什么不创造一个答案,我接受?