首页 > 解决方案 > 更新 mongodb 集合中的字段,即使它不存在

问题描述

即使集合中不存在此字段,我也想将isChecked字段设置为 mongodb 集合:

User.updateOne({ id }, { $set: { isChecked: true } });

但它不更新,因为isChecked不存在。我记得那是一些东西,new但我不记得确切。

PS 我喜欢 mongodb,但我讨厌它的文档。0 可读性

标签: javascriptnode.jsmongodbmongoose

解决方案


此查询的行为不应依赖于是否isChecked存在;操作员将设置的$setisChecked无论该字段之前是否存在于文档中

如果该字段不存在,$set 将添加一个具有指定值的新字段,前提是新字段不违反类型约束。

您是否可能考虑upsert过递增或其他一些行为?


推荐阅读