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”})工作得很好,非常感谢。你为什么不创造一个答案,我接受?