【问题标题】:DeleteMany in mongoDb only deleting first condition datamongoDb 中的 DeleteMany 仅删除第一个条件数据
【发布时间】:2021-05-11 05:50:49
【问题描述】:

我正在尝试通过多个条件删除 mongo db 中的多行,但我只看到第一个条件数据被删除。请有人帮忙。共享数据以进行澄清。 数据:

{
  "_id": ObjectId("601fcc2f4bae4bc542085e8b"),
  "name": "tutoria 2",
  "id": 19,
  "rollno": 1020,
  "amount": "one hundred only"
}{
  "_id": ObjectId("601fce9a4bae4bc542085e8e"),
  "name": "tutoria 2",
  "id": 19,
  "rollno": 1020,
  "amount": "hundred only"
}{
  "_id": ObjectId("601fcea44bae4bc542085e8f"),
  "name": "tutoria 3",
  "id": 10,
  "rollno": 1020,
  "amount": "hundred only"
}{
  "_id": ObjectId("601fceb04bae4bc542085e90"),
  "name": "tutoria 4",
  "id": 21,
  "rollno": 1020,
  "amount": "hundred only"
}

查询:

db.movie.deleteMany(
{
  "name": "tutoria 4"
},
{
  "id": 10
}
)

{
  "acknowledged": true,
  "deletedCount": 1
}

不确定猫鼬有什么问题。

【问题讨论】:

    标签: mongodb mongoose mongodb-query


    【解决方案1】:

    试试这个:

    db.collection.deleteMany({
      $and: [
        {name:"tutoria 4"},
        {id:10}
      ]
    })
    

    所有匹配的查询 $and 都应该返回 true 以删除过滤的文档,否则根本不会删除。

    【讨论】:

      【解决方案2】:

      它的工作原理。

      db.movie.deleteMany({$or:[{"name":"tutoria 098"},{"id":20}]})
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-20
        • 2021-07-16
        • 1970-01-01
        • 2021-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多