【发布时间】:2022-09-23 03:45:39
【问题描述】:
{
\"id\": 1,
\"holdDetails\": [
{
\"holdDescription\": \"COVERT_LOCK\",
\"holdStatus\": \"CREATED\"
},
{
\"holdDescription\": \"ALPH_LOCK\",
\"holdStatus\": \"RESOLVED\"
}
]
},
{
\"id\": 2,
\"holdDetails\": [
{
\"holdDescription\": \"ALPHA_LOCK\",
\"holdStatus\": \"RESOLVED\"
},
{
\"holdDescription\": \"BETA_LOCK\",
\"holdStatus\": \"RESOLVED\"
}
]
},
{
\"id\": 3,
\"holdDetails\": [
{
\"holdDescription\": \"ALPHA_LOCK\",
\"holdStatus\": \"CREATED\"
},
{
\"holdDescription\": \"BETA_LOCK\",
\"holdStatus\": \"CREATED\"
}
]
}
]
现在我想根据获取所有这些对象的条件过滤此文档 其中所有的holdDetails都在RESOLVED中holdStatus(即COVERT_HOLD也在RESOLVED中 holdStatus) 或所有这些都处于 RESOLVED 除了 COVERT_LOCK 处于 CREATED 状态之外的保持状态
所以发布这个条件结果应该是
{
\"id\": 1,
\"holdDetails\": [
{
\"holdDescription\": \"COVERT_LOCK\",
\"holdStatus\": \"CREATED\"
},
{
\"holdDescription\": \"ALPH_LOCK\",
\"holdStatus\": \"RESOLVED\"
}
]
},
{
\"id\": 2,
\"holdDetails\": [
{
\"holdDescription\": \"ALPHA_LOCK\",
\"holdStatus\": \"RESOLVED\"
},
{
\"holdDescription\": \"BETA_LOCK\",
\"holdStatus\": \"RESOLVED\"
}
]
}
]
在 java 中创建的 Query.class 对象应该是什么来产生这样的结果?
-
所以我想要所有类型的holdDescription都在RESOLVED holdStatus中的所有对象,不包括COVERT_LOCK的holdStatus。
标签: java mongodb spring-boot mongodb-query spring-data-mongodb