一、嵌套数组

数据:

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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐