Jam*_*amb 4 spring mongodb spring-data spring-data-mongodb
我想在用户在UI中选择的MongoDB文档列表上运行批量删除操作,因此我需要动态构建如下所示的查询(对于选中的每个文档,or子句展开):
{
$and: [
{
"contentType": "application/vnd.sometype"
},
{
$or: [
{
"metadata.name": "someName",
"metadata.version": "someVersion"
},
{
"metadata.name": "someOtherName",
"metadata.version": "someOtherVersion"
}
]
}
]
},
Fields: null,
Sort: null
Run Code Online (Sandbox Code Playgroud)
刚才我正在使用字符串连接来实现这一点.
是否可以使用Spring Data MongoDB Criteria Builder(org.springframework.data.mongodb.core.query.Criteria)构建此查询?
Art*_*lan 10
这不适合你吗?
Criteria criteria = Criteria.where("contentType").is("application/vnd.sometype");
List<Criteria> docCriterias = new ArrayList<Criteria>(docs.size());
for (Document doc: docs) {
docCriterias.add(Criteria.where("metadata.name").is(doc.getName())
.and("metadata.version").is(doc.getVersion()));
}
criteria = criteria.orOperator(docCriterias.toArray(new Criteria[docs.size()]));
Run Code Online (Sandbox Code Playgroud)
?
| 归档时间: |
|
| 查看次数: |
14451 次 |
| 最近记录: |