mongodb 中嵌套数组的且查询
来源:互联网 发布:.tv 域名使用方便吗 编辑:程序博客网 时间:2024/04/29 21:17
如果在mongodb中存在如下数据
{
audit:{
experts:[{expertId:"1",result:"success",......}
{expertId:"2",result:"success",......}
]
}
},
{
audit:{
experts:[{expertId:"1",result:"fail",......}
{expertId:"2",result:"success",......}
]
}
}
如果是 需要查询数组需要查询experts中的expert=1 并且 result=success,按照查询参数查询的结果应该只有第一个才符合条件。
如果你是这么写的{“audit.experts.expertId”:"1",“audit.experts.result”:"success"},那么会将两条数据都会查出来。
这就需要用到mongodb查询符号"$elemMatch"
"audit.experts" : {
"$elemMatch" : {
"expertId" : "1",
"result" : "success"
}
}
由于是嵌套了几层查询,所以当数据量很大时效率不高,这时需要创建一个联合索引
{“audit.experts.expertId”:1,“audit.experts.result”:1};
由于该索引mongodb默认不会被使用,所以需要使用hint方法来强制其使用索引。
没有调用索引和使用索引效率相差百倍!!!
- mongodb 中嵌套数组的且查询
- mongodb多层嵌套数组查询
- MongoDB的查询数组
- mongodb嵌套集合数据的查询
- MongoDB嵌套查询
- mongoDB嵌套查询
- mongodb多层嵌套查询
- MongoDB嵌套查询
- MongoDB中对数组元素进行查询
- MongoDB+laravel 查询mongodb集合中数组个数
- Mongodb嵌套查询及修改
- Mongodb嵌套查询及修改
- mongodb update多层嵌套数组
- MongoDB学习笔记~官方驱动嵌套数组对象的更新
- 【问题】MongoDB查询数组元素的问题
- 【MongoDB】数组和范围查询的相互作用
- MongoDB,匹配数组交集的查询方式。
- java Mongodb 查询数组
- getOutputStream() has already been called for this response
- Mongodb使用save更新
- java汉字占用字节
- 关于Mongodb索引创建的一些体会
- 点位于多边形内和点位于线段上判别法
- mongodb 中嵌套数组的且查询
- 【不到最后,不要轻易下判断】
- 远程采集服务器指标信息(一) 远程通过SSH执行命令
- 远程采集服务器指标信息(二)通过telnet执行远程命令
- 远程采集服务器指标信息(三)通过snmp
- LINUX 文件颜色的意义
- 通过JMX监控weblogic服务
- java解压rar以及zip
- java线程帮助类(无限循环)