代码之家  ›  专栏  ›  技术社区  ›  Harsh Patel Sam

查找并删除嵌套级别

  •  1
  • Harsh Patel Sam  · 技术社区  · 5 年前

    我想找到并删除该值,其中

    我的数据:

    [
        {
            "products" : [ {
                        "id" : "5cc6d9737760963ea07de411",
                        "quantity" : 1,
                        "totalPrice" : 100,
                    }, 
                    {
                        "id" : "5cc6d9737760963ea07de412",
                        "quantity" : 2,
                        "totalPrice" : 200,
                    }
            ],
            "isCompleted" : false,
            "_id" : "5cc7e4096d7c2c1f03570a2f"
        },
        {
            "products" : [{
                        "id" : "5cc6d9737760963ea07de414",
                        "quantity" : 1,
                        "totalPrice" : 100,
                    }, 
                    {
                        "id" : "5cc6d9737760963ea07de4133",
                        "quantity" : 2,
                        "totalPrice" : 200,
                    }
            ],
            "isCompleted" : false,
            "_id" : "5cc7e4096d7c2c1f03570a2f"
        }
    
    ]
    

    我试过:

    Schema.findOneAndUpdate({"products.id": "5cc6d9737760963ea07de411"},
    { $pull:  {"products.$.id": "5cc6d9737760963ea07de411"  })
    

    但它不起作用。

    1 回复  |  直到 5 年前
        1
  •  2
  •   Ashh    5 年前

    现在你不需要使用 .dot

    Schema.findOneAndUpdate(
      { "products.id": "5cc6d9737760963ea07de411" },
      { "$pull": { "products": { "id": "5cc6d9737760963ea07de411" }}}
    )