为什么会有这么多坑

1.  Java会把 id:String = "合法ObjectId"  好心好意的 转为  _id:ObjectId 类型。

2. 为了避免第1点, 我定义了一个  HashMap, 里面放 id  它就不会转了,但是下面代码报错:

        mor.sys.user!!
.UpdateById("58f6cdfe2b3fe4673b897061")
.where("roles.id" pair "abc4")
.set("roles.$.name" pair "6644")
.exec();

user 下面有 roles 集合, 如果使用 Map 报错, 不使用 Map,使用对象集合, 就没有事。 这帮SB,从Map中反射 id 属性, 我添加了 id 属性,也不行。

3.  Update  语句中  "id" pair String值,  Java 会把 id 转为 _id , String值会转为 ObjectId

但是子属性就不会!!!

  role.id pair  String值,就傻傻的报错。

4. 顺序很重要!

db.qRCodeTagInfo.aggregate(
[
{ "$match" : { "corpId" : "58fc10252b3fe46746a93fbe"}}
,
{ "$group" : { "_id" : { "corpId" : "$corpId" , "createBy" : "$createBy" , "action" : "$action" , "tag" : "$tag"}}}
] )

$match 写在前面, 说明,先进行查询。

$match 写在后面, 说明,后执行过滤。 写在后面时,要写为:

{ "$match" : { "_id.corpId" : "58fc10252b3fe46746a93fbe"}}

否则找不到 corpId , 因为返回的结果只有一个 _id列, 其它是聚合列。

最新文章

  1. 了解了下spring boot,说一下看法
  2. c++中的继承与初始化
  3. POJ 3974 回文串-Manacher
  4. Sprint(第一天11.14)
  5. 对RESTful Web API的理解与设计思路
  6. Windows-007-进程相关命令(netstat、tasklist、taskkill、tskill)实战实例图文详解
  7. IIS与ASP.NET中的队列
  8. Bootstrap两端对齐的导航实例
  9. js倒计时功能
  10. Hadoop32位和64位的查询
  11. 使用POI把Word Excel转为HTML
  12. SQL Server 创建作业系列问题
  13. Android:AysncTask异步加载
  14. Cocos Studio和Cocos2d-x版本对应关系
  15. php集成环境
  16. Spring基础学习(一)—初识Spring
  17. DUMP1 企业级电商项目
  18. vue 父子组件的方法调用
  19. rootfs 制作
  20. ubuntu 16.04 搭建git小型服务器

热门文章

  1. AspNetCore2 Hangfire定时任务
  2. NPOI帮助类
  3. 使用 PsPing & PaPing 进行 TCP 端口连通性测试
  4. SQL SERVER孤立帐号的处理
  5. 阿里云上安装pip3(Ubuntu)
  6. 4.1Python数据类型(1)之数值类型
  7. Spring容器技术内幕之BeanDefinition类介绍
  8. 通过css3,实现加载转动贝塞尔曲线动画
  9. 线程间的通信_多生产者多消费者问题_JDK1.5新特性_Lock
  10. Jessica's Reading Problem POJ - 3320(尺取法2)