【发布时间】:2020-11-08 06:51:38
【问题描述】:
我正在尝试将数组中的整个对象替换/更新为它的最新值,但我无法让它工作。
Db 看起来像这样:(注意:这个集合中只有 1 个主要对象)
{
"_id": {...},
"something that doesnt matter": {...},
"var1": {
"var2": [{...}, {...}, {...}, {...}, {...}],
"var3": [{...}, {...}, {...}, {...}, {...}]
},
"something that doesnt matter": {...}
}
我需要从数组 var2 更新某个对象,我有对象 ID 或者对象中有自定义 ID,我也可以使用 (id == updatedObject.id) 获取它
这可行,但我无法让它与自定义数组 id 一起使用
await db.collection("collectionName").findOneAndUpdate(
{"var1.var2": { $exists: true }},
{ $set: { "var1.var2.1": updatedObject } }
);
我已经在数据库上的数组中拥有对象的 ID,但我不知道如何从 var1.var2 更新它。ID,
所以基本上我需要的是{ $set: { "var1.var2.**ID**": updatedObject } },但我似乎不知道如何让它工作。
因为我不想更新整个数组,也不想更新对象中的单个变量。我需要更新整个对象。
提前感谢您的回复。
【问题讨论】:
-
您是否在 SO 上搜索过解决方案?用你的问题的确切标题搜索得到这个stackoverflow.com/questions/9200399/…,这有帮助吗?
标签: node.js mongodb typescript