mongodb - 如何仅更新 MongoDB 文档中的一个字段
问题描述
我有模块名称项目。我的模块如下所示:
{
_id: 4874874874848,
name: Item1
data: {name: 'Item name', id:1235}
}
现在我只需要更改数据数组中的内容(名称和 ID)。我一直在使用 Items.FindOneAndUpdate() 但我需要在该数据数组中插入新数据。我的问题是,我怎样才能添加新值,但只能在我的模块的数据数组中。我的数据库应该是这样的:
{
_id: 4874874874848,
name: Item1
data: {
0{name: 'Item name', id:1235}
1{name: 'Item name1', id:44545}
2{name: 'Item name2', id:54545}
}
}
解决方案
听起来你需要$addToSet
https://docs.mongodb.com/manual/reference/operator/update/addToSet/
虽然请注意,这不会添加任何重复的值
编辑,添加示例:
'$addToSet': { data: {
'$each': [
{name: 'Item name1', id:44545},
{name: 'Item name2', id:54545}
]
}}
推荐阅读
- hashicorp-vault - 允许用户更新/删除某些策略(Hashicorp Vault)
- python - 运行我的 CNN model.fit 时出现 PIL 未识别图像错误
- python - Fashion Mnist TensorFlow 数据形状不兼容
- asp.net-core - 是单例 HttpClient X 分钟后接收新的 HttpMessageHandler
- python - 有没有办法在 Python 中模拟后台控制台活动?
- wix - 在 .wixproj 文件中使用 Exec 命令时字符 %20 转义
- firebase - Firestore - 使用云函数更新嵌套对象不适用于合并设置为 true
- templates - 如何去掉页面头部
- android - 如何在android中更新RecyclerView的单个图像
- postgresql - Postgres:用于换行的正则表达式