Mongoose -在一次函数调用中删除多个文档

iqxoj9l9  于 2023-02-23  发布在  Go
关注(0)|答案(5)|浏览(164)

在文档中有deleteMany()方法

Character.deleteMany({ name: /Stark/, age: { $gte: 18 } }, function (err) {});

我想删除多个文档,这些文档有一个共同的属性,另一个属性不同。
Site.deleteMany({ userUID: uid, id: [10, 2, 3, 5]}, function(err) {}
正确的语法是什么?

liwlm1x9

liwlm1x91#

我相信您要寻找的是$in运算符:

Site.deleteMany({ userUID: uid, id: { $in: [10, 2, 3, 5]}}, function(err) {})

文档位于:https://docs.mongodb.com/manual/reference/operator/query/in/

r1wp621o

r1wp621o2#

您也可以使用。

Site.remove({ userUID: uid, id: { $in: [10, 2, 3, 5]}}, function(err, response) {});
tquggr8v

tquggr8v3#

我不得不将id更改为_id才能使其工作:

Site.deleteMany({ _id: [1, 2, 3] });

如果未定义任何ID,而是使用默认ID,则会发生这种情况:
“如果没有将一个字段传递到Schema构造函数中,Mongoose会默认为每个模式分配一个_id字段。”

fafcakar

fafcakar4#

是的,$in是一个完美的解决方案:
Site.deleteMany({ userUID: uid, id: { $in: [10, 2, 3, 5] } }, function(err) {})

0yg35tkg

0yg35tkg5#

db.collectionName.deleteMany({key : value},function(err){
        if(err){
 

                     console.log(err);
                   }
               else{
                      console.log("All data deleted");
                   }
    });

相关问题