【发布时间】:2020-10-15 19:31:23
【问题描述】:
需要改变对象值(不是数组) 想用 javascript 对象替换当前的 mongodb 对象。
mongodb 文档示例:
_id: ObjectId("5ee16596c1583dee0d7a6cae")
名称:《联合湾》
代码:“ub”
配置:对象
食物:真实
玩具:真实
床上用品:真
书籍:真实
工具:假
所有者:“玛丽·史密斯”
]
我得到的是一个配置对象,例如
food: true
toys: false
bedding: false
books: false
tools: false
我可以通过在命令行中全部输入来手动使用 updateOne...
db.client.updateOne({"code": "ub"},{$set: {"configs":{"food": true, "toys": false, "bedding": false, "books": false, "tools": false}}})
但在我的 javascript 中,我不想遍历对象。我只想将对象传递给 $set。我试过这个...
configInfo 是像上面这样的对象,所有当前设置都是对象
await Client.findOneAndUpdate(
{
code: "ub"
},
{ $set: { configs: configInfo }},
);
不幸的是,结果...
[
_id: ObjectId("5ee16596c1583dee0d7a6cae")
name: "Union Bay"
code: "ub"
configs: Object
food: true
owner: "Mary Smith"
]
它只更新对象中设置的第一个键/值。当我想要做的实际上是用我的 javascript 对象替换整个 mongodb 对象时。导致这个...
希望的结果是……
[
_id: ObjectId("5ee16596c1583dee0d7a6cae")
name: "Union Bay"
code: "ub"
configs: Object
food: true
toys: false
bedding: false
books: false
tools: false
owner: "Mary Smith"
]
【问题讨论】:
标签: javascript reactjs mongodb mongoose