一、嵌套数组
数据:
{
"arrays": [
{
"keyArrays": [
{
"key": "index",
"key2": "index2"
},
{
"key": "index1",
"key2": "index2"
}
]
}
]
}
mongo语法
db.collection.find({arrays:{$elemMatch:{keyArrays:{$elemMatch:{key:"index", key2:"index2"}}}}})
java写法
Criteria criteria = Criteria.where("arrays.keyArrays").elemMatch(Criteria.where("key").is("index").and("key2").is("index1"));
二、多维数组
数据:
{
"arrays": [
[
{
"key": "index"
},
{
"key": "index1"
}
]
]
}
mongo语法
db.collection.find({arrays:{$elemMatch:{$elemMatch:{key:"index"}}}})
java写法
Criteria criteria = Criteria.where("arrays").elemMatch(new Criteria().elemMatch(Criteria.where("key").is("index")));