这两个命令的区别是什么?
db.collection.deleteMany({condition})
db.collection.remove({condition})
答案 0 :(得分:19)
据我所知,
db.collection.deleteMany
Returns:
A document containing:
> A boolean acknowledged as true if the operation ran with write concern or false if write concern was disabled
> deletedCount containing the number of deleted documents
在哪里
db.collection.remove
要删除单个文档,还有一个类似的命令db.collection.removeOne
,其中您需要设置db.collection.remove
和justOne
选项,以将删除限制为1个文档。
否则我猜它们是相似的。
node.js drivers
在谈论node.js drivers
时,remove
已被弃用(可能会在以后的版本中删除)和deleteOne
或deleteMany
。
希望这是有道理的......
答案 1 :(得分:12)
他们也一样。区别在于返回的值。
使用remove()
:
> db.ticker.remove({"name": "Bitcoin"})
WriteResult({ "nRemoved" : 2 })
使用deleteMany()
:
> db.ticker.deleteMany({"name": "Bitcoin"})
{ "acknowledged" : true, "deletedCount" : 2 }