无法从 Spring 引导 MongoDB 中的数组中删除嵌入对象

Unable to remove embedded object from array in Spring Boot MongoDB

我有一个集合“users”,其中包含字段 “carts”,它是对象数组。像这样

{
_id: '61249cb6709f5f61ec6d8372',
name: 'ABC',
carts: [
    {
        cartId: 'cartId-1",
        name: 'test'
    },
    {
        cartId: 'cartId-2",
        name: 'test2'
    }
]

现在我想删除包含 "cartId":'cartId-1' 的对象。 我试过这个 -

mongoTemplate.updateMulti(
            Query.query(Criteria.where("id").is("61249cb6709f5f61ec6d8372")),
            new Update().pull("carts", new BasicDBObject("cartId", "cartId-1")),
            Users.class
    );

但它仍然没有从数组中删除嵌入的对象

通过传递 objectid 而不是字符串来尝试使用以下代码。

Query.query(Criteria.where("id").is(new ObjectId("61249cb6709f5f61ec6d8372"")))