gpt4 book ai didi

mongodb 区别 remove() vs findOneAndDelete() vs deleteOne()

转载 作者:IT老高 更新时间:2023-10-28 13:08:11 27 4
gpt4 key购买 nike

在 express 和 mongodb 中,我想按 id 删除文档findOneAndDelete() 不能按_id删除,只能按字段删除!为什么?

db.collection('quotes').findOneAndDelete({name: req.body.name}, (err, result) => {
if (err) return res.send(500, err)
})

var ObjectId = require('mongodb').ObjectId;
var collection = db.collection('quotes');
collection.remove({_id: new ObjectId(req.body.id)}, function(err, result) {
if (err) {
console.log(err);
} else {
res.send('A darth vadar quote got deleted')
}
});

var mongodb = require('mongodb');
db.collection('quotes', function(err, collection) {
collection.deleteOne({_id: new mongodb.ObjectID(req.body.id)});
});

三个函数的区别?

最佳答案

简而言之:

  • findOneAndDelete()删除后返回已删除的文档(以防您在删除操作后需要其内容);
  • deleteOne()用于删除单个文档
  • remove()是一个已弃用的函数,已被 deleteOne()(删除单个文档)和 deleteMany()(删除多个文档)替换

findOneAndDelete() 应该可以在 _id 上删除。

关于mongodb 区别 remove() vs findOneAndDelete() vs deleteOne(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42715591/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com