如何在Java中写入子/嵌套对象的MongoDB集合过滤器?
嗨,我是Mongo DB的新手,有人能帮我吗?
我的MongoDB有下面提到的数据集合。并且我需要使用com.mongodb.client.model.Filters过滤集合。有没有人可以让我知道Java中的语法,过滤是如何处理这种情况的?
mytobecompare对象也具有相同的结构。
Bson queryParams = Filters.and( Filters.eq("my_data.count",mytobecompare.getCount()),//计数过滤器正常。但是对于具有对象列表(长度和值)的"myslot“数据结构,过滤器又是什么呢?我需要匹配所有计数为4的集合数据,myslot:{length:1,value:A},{length:2,value:B},{length:3,value:C},{length:4,value:D}
"my_data" : {
"count" : "4",
"myslot" : [
{
"length" : 1,
"value" : "A"
},
{
"length" : 2,
"value" : "B"
},
{
"length" : 3,
"value" : "C"
},
{
"length" : 4,
"value" : "D"
}
]
}发布于 2018-03-17 09:45:30
下面是示例代码:
导入com.fasterxml.jackson.databind.ObjectMapper;
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
public static <T> String convertObjectToJSON(final T messageObject) {
try {
return OBJECT_MAPPER.writeValueAsString(messageObject);
} catch (IOException ex) {
throw new IllegalStateException(ex);
}
}...................................................................................Filters.eq("my_data",Document.parse(convertObjectToJSON(mytobecompare.getMyslotData()))))
https://stackoverflow.com/questions/49288794
复制相似问题