如何在数组中递增MongoDB文档对象字段
这是我的文件格式: 在如何在数组中递增MongoDB文档对象字段,mongodb,nosql,Mongodb,Nosql,这是我的文件格式: 在versions字段中,我存储像{v:'2.5',count:5}这样的对象,其中count保存版本的使用次数 做以下事情最简单的方法是什么 如果versions数组中不存在新对象,请在该数组中插入新对象 Ff在版本数组中存在特定版本,然后增加其计数 最简单的方法应该是 db.collection.update({versions.v:'some_version'},{"$inc":{"versions.$.count":1}}); 如果存在版本,这将增加您的计数,但正
versions
字段中,我存储像{v:'2.5',count:5}
这样的对象,其中count
保存版本的使用次数
做以下事情最简单的方法是什么
versions
数组中不存在新对象,请在该数组中插入新对象版本
数组中存在特定版本,然后增加其计数
最简单的方法应该是
db.collection.update({versions.v:'some_version'},{"$inc":{"versions.$.count":1}});
如果存在版本,这将增加您的计数,但正如MongoDB文档所述,$
运算符不能与upsert混合使用,因此如果{versions.v:'some_version}
失败,上述查询将不会导致insert
位置运算符不能与upsert组合,因为它
需要匹配的数组元素。如果您的更新导致插入
然后“$”将字面上用作字段名
以下是用美元支持upsert的JIRA门票。你可以投票观看这些问题
db.collection.update({versions.v:'some_version'},{"$inc":{"versions.$.count":1}});