无法从 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"")))
我有一个集合“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"")))