mongoDB的 document 显示如下
{
"_id" : ObjectId("5a79b826324a9a48356ta233")
"name": "XYZ",
"products": [{
"_id": ObjectId("60d75e6f0095ee2d6469158c")
}, {
"_id": ObjectId("60d75e6f0095ee2d6469158e")
}],
"notes": "Times new Roman",
"_class": "com.example.com"
}
我只是想通过传递id值作为输入,删除products
数组中的一个id
。考虑删除"_id"。ObjectId("60d75e6f0095ee2d6469158c")
,所以我只需传递id值 60d75e6f0095ee2d6469158c
。结果文件应该是这样的
{
"_id" : ObjectId("5a79b826324a9a48356ta233")
"name": "XYZ",
"products": [{
{
"_id": ObjectId("60d75e6f0095ee2d6469158e")
}],
"notes": "Times new Roman",
"_class": "com.example.com"
}
所以我只需要@Query()
注解的值,它将被提到AbcRepository扩展MongoRepository中定义的抽象方法上,这样我就可以从products中删除所需的_id
。
参考对此,我只能在命令外壳中看到类似于这样的CLI操作
这涉及到使用一个驱动程序和编写一个查询模板
但我确实需要在Spring Boot中使用@Query()
注解进行操作。
StackOverflow:https://stackoverflow.com/questions/68180886/removing-an-object-of-an-array-field-in-mongodb-document-using-spring-query-ann