仅当从数组中删除元素的结果导致数组为空时,才在MongoDB中设置一个字段吗?

时间:2018-12-11 06:11:46

标签: mongodb

我正在使用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"] }

这必须以原子方式完成。我该如何实现?

0 个答案:

没有答案