spring mongodb内嵌文档查询

  • 代码示例
  • 简化写法

spring mongodb内嵌文档查询示例。

{"name": "zsParent", "age": "50","sons": [{"name": "zs","age": "20","sex": "man"},{"name": "lisi","age": "21","sex": "man"},{"name": "wangwu","age": "22","sex": "woman"}]
}

代码示例

    public void test() {List<AggregationOperation> operations = new ArrayList<>();//匹配文档MatchOperation match = Aggregation.match(Criteria.where("name").is("zsParent"));//拆分sons数组UnwindOperation unwind = Aggregation.unwind("sons");//二次匹配MatchOperation match1 = Aggregation.match(Criteria.where("name").is("zs"));operations.add(match);operations.add(unwind);operations.add(match1);Aggregation aggregation = Aggregation.newAggregation(operations);AggregationResults<JSONObject> results = mongoTemplate.aggregate(aggregation, "user", JSONObject.class);JSONObject jsonObject = results.getUniqueMappedResult();Son son = jsonObject.getObject("sons", Son.class);}

简化写法

    public void test() {Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(Criteria.where("name").is("zsParent")),Aggregation.unwind("sons"),Aggregation.match(Criteria.where("age").gte("20").lte("21")));AggregationResults<JSONObject> results = mongoTemplate.aggregate(aggregation, "user", JSONObject.class);List<JSONObject> resultList = results.getMappedResults();resultList.forEach(jsonObject -> {Son son = jsonObject.getObject("sons", Son.class);});}

spring mongodb内嵌文档查询相关推荐

  1. MongoDB内嵌文档查询

    MongoDB内嵌文档查询 示例数据结构 [{"name": "lisa", "age": 17,"friends": ...

  2. MongoDB进阶-内嵌文档查询

    作为非关系型数据库中的佼佼者,MongoDB一大优势在于能够在一条文档中存储对象类型的数据,适当增加冗余来让数据库更好用.文档中一个对象类型的字段在MongoDB中被称为内嵌文档(Embedded), ...

  3. mongoDb内嵌文档的数据查询

    导读 本文档主要讲述在内嵌文档中数据的筛选,内容如下 - 获取内嵌文档某特定数据 - 获取多个内嵌文档的某特定数据 - 获取多层级内嵌文档中的某特定数据 - 获取内嵌文件特定数据,并利用排序和分页筛选 ...

  4. mongodb 内嵌文档 报这个错A bulk write operation resulted in one or more errors

    很正常的添加报了这个错误,我才注意到数据的存储格式. 下面是测试的数据, 第一行是正常添加的数据,对他操作就没问题. 第二行的数据格式 可以看出赋了null值 第三行 是一个空的内嵌文档 第四行 是没 ...

  5. es内嵌文档查询_ElasticSearch 文档的增删改查都不会?

    本文主要是介绍 ElasticSearch 的文档增删改查和批量操作,同时会介绍一些 REST API 返回状态码的具体含义. 我们先来看下这个表: 这个表包含了 Index.Create.Read. ...

  6. es内嵌文档查询_Elasticsearch 7.x Nested 嵌套类型查询 | ES 干货

    一.什么是 ES Nested 嵌套 Elasticsearch 有很多数据类型,大致如下: 基本数据类型: string 类型.ES 7.x 中,string 类型会升级为:text 和 keywo ...

  7. java mongo 查询数组_MongoDB查询(数组、内嵌文档)

    一.简介 我们上一篇介绍了db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段,我们今天介绍了对数组和内嵌文档的查询操作,尤其是 ...

  8. mongodb查询内嵌文档

    mongodb查询内嵌文档 假设有这样一个文档: db.XXX.remove(); db.XXX.insert({"id":1, "members":[{&qu ...

  9. mongodb 查询内嵌文档

    原文:http://www.cnblogs.com/silentjesse/p/3598399.html mongodb查询内嵌文档 假设有这样一个文档: db.XXX.remove(); db.XX ...

最新文章

  1. POJ1151基本的扫描线求面积
  2. 提醒一下技术人,你是不是陷入局部最优了
  3. SQL LEFT JOIN与IN使用案例说明
  4. 有了螃蟹让心情好一点
  5. xhprof php性能分析工具
  6. python手机安装模块_python如何安装模块 模块安装操作教程
  7. ES6_proxy_note
  8. oracle出现The Network Adapter could not establish the connection的问题
  9. grassfire算法
  10. statusbar 纯白色的解决方案 android:fitsSystemWindows
  11. 关于增量模型和迭代模型的区别
  12. 业务流程管理的基本概念
  13. Linux学习 十二单元
  14. STM32F103ZET6通过SPI驱动2.4寸TFT彩屏
  15. Java面试题(持续日更)
  16. EGE五子棋(调节窗口大小,悔棋,重开,鼠标点击)
  17. 4g/GPRS DTU 开发板软件代码硬件图纸料
  18. R语言Tobit模型的分组回归
  19. 全球矢量任意下载 路网、水系、建筑..
  20. 文件上传漏之Durian靶场练习——渗透day13

热门文章

  1. Hyper-V配置ubuntu网络(无线有限均可)
  2. 一些电脑清理方法,学起来,总会用到的
  3. 通过Windows防火墙禁止某程序(或软件)联网
  4. 【剑桥摄影协会】Photoshop中的USM算法(Unsharp Mask)
  5. 征服英语的33条军规
  6. vue项目模拟后台数据
  7. 必过SafetyNet!以MIUI开发版系统为例详解Android设备通过SafetyNet校验方法
  8. 中国工程院院士、中国人工智能学会理事长李德毅:人工智能研究新进展
  9. 【计算机操作系统】新兴操作系统
  10. 虚幻3和虚幻4_如何成为虚幻的自动化专家