一、嵌套数组

数据:

{
  "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")));

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐