如何在更新 mongo 文档时使用变量?
How to use variable while updating a mongo document?
我有一个 mongo 集合,如下所示:
{
"_id" : "FfnHWrZuvzBqAk7M5",
"0" : {
"ids" : [
"3",
"1"
]
},
"1" : {
"who" : "3",
"txt" : "aaa",
"time" : "1100"
},
"2" : {
"who" : "1",
"txt" : "bbb",
"time" : "1101"
},
"3" : {
"who" : "1",
"txt" : "ccc",
"time" : "1101"
}
以上是一个文档,包含'_id','ids',然后是从 1 到永恒的其他对象,具有相同的字段集。
我正在尝试通过添加下一个对象(在本例中是第 4 个对象)来更新文档,如下所示:
var foo = (some data here);
MNChats.update(
{ _id: Session.get('activeConversationID')},
{ $set: {foo: {who: '3', txt: 'whatever', time: '2100'} } }
);
它工作正常,但插入 'foo' 而不是存储在变量中的数字。
在这种情况下如何使用变量?
或者有没有其他方法可以自动将此对象插入下一个数字?
您需要创建一个对象,其中 foo
的 值 成为键,并将其传递给 $set
运算符。
var whatToSet = {};
var foo = 4; // or your number you want to store
whatToSet[foo] = {who: '3', txt: 'whatever', time: '2100'};
MNChats.update(
{_id: Session.get('activeConversationID')},
{ $set: whatToSet }
);
您可能还想将此数据结构修改为数组,这样您就可以使用 $push operator。
我有一个 mongo 集合,如下所示:
{
"_id" : "FfnHWrZuvzBqAk7M5",
"0" : {
"ids" : [
"3",
"1"
]
},
"1" : {
"who" : "3",
"txt" : "aaa",
"time" : "1100"
},
"2" : {
"who" : "1",
"txt" : "bbb",
"time" : "1101"
},
"3" : {
"who" : "1",
"txt" : "ccc",
"time" : "1101"
}
以上是一个文档,包含'_id','ids',然后是从 1 到永恒的其他对象,具有相同的字段集。
我正在尝试通过添加下一个对象(在本例中是第 4 个对象)来更新文档,如下所示:
var foo = (some data here);
MNChats.update(
{ _id: Session.get('activeConversationID')},
{ $set: {foo: {who: '3', txt: 'whatever', time: '2100'} } }
);
它工作正常,但插入 'foo' 而不是存储在变量中的数字。
在这种情况下如何使用变量?
或者有没有其他方法可以自动将此对象插入下一个数字?
您需要创建一个对象,其中 foo
的 值 成为键,并将其传递给 $set
运算符。
var whatToSet = {};
var foo = 4; // or your number you want to store
whatToSet[foo] = {who: '3', txt: 'whatever', time: '2100'};
MNChats.update(
{_id: Session.get('activeConversationID')},
{ $set: whatToSet }
);
您可能还想将此数据结构修改为数组,这样您就可以使用 $push operator。