我正在尝试将一个对象$push
放入Node的Mongodb中的空数组中,但我做不到。但是,使用相同的代码,$push
仅输入一个数字(例如)确实可以。
有什么想法吗?
我的文档:
{
"_id": {
"$oid": "5d390a119dc142572d0abef8"
},
"LastName": "Musk",
"FirstName": "Elon",
"myArr": []
}
工作:
let numb = 123;
docs.forEach((doc) => {
db.collection(collection).update({ _id: doc._id }, { $push: { myArr: numb } });
})
不起作用:
let obj = { string: "Hello world", number: 123 };
docs.forEach((doc) => {
db.collection(collection).update({ _id: doc._id }, { $push: { myArr: obj } });
})
答案 0 :(得分:0)
我刚刚在MongoDB的 GUI上尝试过:
查询:
db.getCollection('collectionName').update({ _id: ObjectId("5b67f2a6bcc32c793f09c209")},{ $push: { myArr: { string: "Hello world", number: 123 } } });
在上面的查询中运行后,集合输出:
{
"_id" : ObjectId("5b67f2a6bcc32c793f09c209"),
"value1" : [
"a",
"b"
],
"myArr" : [
{
"string" : "Hello world",
"number" : 123.0
}
],
"value2" : "ccc"
}