Node.js 插入、更新和删除vs insertOne、updateOne和deleteOne(或-多个)

Node.js 插入、更新和删除vs insertOne、updateOne和deleteOne(或-多个),node.js,mongodb,Node.js,Mongodb,我有点不知道该不该用: -insert()与insertOne()或insertMany()的比较 -update()与updateOne()或updateMany()的比较 -remove()与deleteOne()或deleteMany()的比较 在后面,只提到xxOne()和xxMany()。但是,许多在线资源使用简单的术语(然后对多个或单个文档使用方法选项参数) 我曾在一个地方读到过,简单术语已被弃用,因此建议使用xxOne()和xxMany()。这是真的,还是你仍然可以使用简单的术语

我有点不知道该不该用: -insert()与insertOne()或insertMany()的比较 -update()与updateOne()或updateMany()的比较 -remove()与deleteOne()或deleteMany()的比较

在后面,只提到xxOne()和xxMany()。但是,许多在线资源使用简单的术语(然后对多个或单个文档使用方法选项参数)

我曾在一个地方读到过,简单术语已被弃用,因此建议使用xxOne()和xxMany()。这是真的,还是你仍然可以使用简单的术语

就个人而言,xxOne()和xxMany()方法使该方法的功能更加明显,但我觉得简单的术语更直观、更好

编辑:

看起来MongoDB shell仍然支持简单的术语,但是主要的驱动程序(比如NodeJS的Mongoose)不赞成使用简单的术语,而支持xxOne()和xxMany()方法。
插入
用于在我们的收藏中插入文档

db.test.insert({ "key": "value1","key2":"Val2","key3":"val3" })
或者我们可以使用

db.test.insert({ "key": "value1","key2":"Val2","key3":"val3" })
InsertOne
仅用于插入一条记录

db.test.insertOne({"key":"value"});
每当要插入多条记录时,请使用
insertMany

d.test.insert([{"key":"value"}, {"key":"value"}]);
Insert
在自3.0版以来的所有官方语言驱动程序中都突出显示为
已弃用
。在实现这些方法时,shell方法实际上落后于其他驱动程序。这同样适用于所有的CRUD方法

更新整个对象

db.test.update({name:'Thyame'}, {age:22, name:'Thyame'});
MongoDB 3.2中的新功能

db.test.updateOne({name: 'Thyame'},{age: 22, name: 'Thyame'}) //Will replace only first matching document.

db.test.updateMany({name: 'Thyame'},{age: 22, name: 'Thyame'}) //Will replace all matching documents.
//new in MongoDb 3.2

 db.test.updateOne({name: 'Thyame'},{$set:{age: 22}) //Will update only first matching document.

db.test.updateMany({name: 'Tom'},{$set:{age: 22}}) //Will update all matching documents.
用于标识对象的字段将保存在更新的文档中。更新部分中未定义的字段将从文档中删除

而在
中删除所有版本中的

db.test.remove({name:'Thyame'}); // this will work
MongoDB 3.2版的新功能是

db.test.removeMany({name:'Thyame'});
如果您在没有任何参数的情况下执行此命令,它将从您的集合中删除所有文档

db.test.insert({ "key": "value1","key2":"Val2","key3":"val3" })

是的,NodeJs的Mongoose已经弃用了这种方法,比如他们用
updateOne
replaceOne()
替换
update()
,还有更多的方法,谢谢你的努力,但是你谈到了这个问题。我知道每一种方法都有什么作用,但要使用哪一种。经过一些额外的研究,我发现你不应该再使用这些简单的术语了,因为它们已经被弃用了。我不会把这当作答案,但还是要投赞成票