我正在使用MongoDB 4.0,并且试图将某项设置为true或false(出于索引目的,因为基于集/数组是否为空seems hard to achieve的快速查找)从集合/数组中添加或删除。我希望当集合中一个或多个项目的删除导致该集合为空时,该字段为false
。例如,假设我有此文档:
{ "name" : "Something", "hasItems" : true, items : ["A"] }
现在让我们说我想删除"A"
。由于成功完成操作后items
将为空,因此我也想将hasItems
设置为false
。同样,如果文档如下所示:
{ "name" : "Something", "hasItems" : false, items : [] }
然后将"B"
添加到items
将产生以下结果:
{ "name" : "Something", "hasItems" : true, items : ["B"] }
这必须以原子方式完成。我该如何实现?