" deletemany"之间的区别是什么?并且"删除"在mongodb?

时间:2016-02-29 03:47:59

标签: mongodb

这两个命令的区别是什么?
db.collection.deleteMany({condition})
db.collection.remove({condition})

2 个答案:

答案 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.deleteMany

在哪里

  

db.collection.remove

返回WriteResult

要删除单个文档,还有一个类似的命令db.collection.removeOne,其中您需要设置db.collection.removejustOne选项,以将删除限制为1个文档。

否则我猜它们是相似的。

  

node.js drivers

在谈论node.js drivers时,remove已被弃用(可能会在以后的版本中删除)和deleteOnedeleteMany

希望这是有道理的......

答案 1 :(得分:12)

他们也一样。区别在于返回

使用remove()

> db.ticker.remove({"name": "Bitcoin"})
WriteResult({ "nRemoved" : 2 })

使用deleteMany()

> db.ticker.deleteMany({"name": "Bitcoin"})
{ "acknowledged" : true, "deletedCount" : 2 }