MongoDB的where查询
MongoDB的where查询
MongoDB的where查询有时候,键值对的查询方式并不能满足我们的需求,我们有如下一个集合:
> db.foo.find()
{ “_id” : ObjectId(“4e9165cf717ed94f8289ac0c”), “bar” : “baz”, “count” : 35 }
{ “_id” : ObjectId(“4e916661739f1da5452a4dfe”), “bar” : “bazz”, “count” : 3 }
{ “_id” : ObjectId(“4e9165cf717ed94f8289ac0d”), “bar” : “baz”, “count” : 35 }
{ “_id” : ObjectId(“4e928bf8735a86e2c6f848ed”), “apple” : 1, “banana” : 6, “peach” : 3 }
{ “_id” : ObjectId(“4e928c17735a86e2c6f848ee”), “apple” : 1, “spinach” : 4, “watermelon” : 4 }
{ “_id” : ObjectId(“4e928d8a735a86e2c6f848ef”), “bar” : “baz”, “banana” : “baz” }
需要返回有两个字段相同的文档,也就是要返回如下文档
{ “_id” : ObjectId(“4e928c17735a86e2c6f848ee
{ “_id” : ObjectId(“4e928d8a735a86e2c6f848ef
就需要使用”$where“并借助javascript来做了
> db.foo.find({“$where”:function(){
for(var current in this){
for(var other in this){
if(current != other && this[current] == this[other]){
return true;
}
}
}
return false;
}})
如果返回true,文档作为结果的一部分被返回;如果为false,则不会返回。
$where查询有以下几种写法:
> db.foo.find({“$where”:”this.x+this.y==10″})
> db.foo.find({“$where”:”function(){return this.x+this.y==10;}”})
tips:不是非常必要时,一定要避免使用”$where”查询,因为效率太低,相当的。文档在MongoDB中是以BSON格式保存的,在$where查询时,每个文档都要从BSON转换为javascript对象然后再通过”$where”中的表达式来运行。有时可以将常规查询作为前置过滤,再使用”$where”查询对结果进行调优
- linuxmongodb安装路径(Linux安装MongoDB启动及常见问题解决)
- Mongodb数据导入导出
- mongodb中mapreduce实例
- mongodb eval 执行服务器端脚本
- MongoDB 日志文件太大
- mongodb query查询
- MongoDB的连接字符串
- MongoDB的MapReduce的用法
- mongodb用户权限
- mongodb备份和还原
- mongodb常用命令的语法
- MongoDB聚合函数
- MongoDB命令与SQL语法对比
- MongoDB中的索引的操作
- mongodb简单介绍和安装
- mongodb python教程(python使用pymongo操作mongo的完整步骤)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
- 成都轨道交通13号线一期工程最新进展(成都轨道交通13号线一期工程最新进展)
热门推荐
- mysql 查询都是0的值(MySQL按小时查询数据,没有的补0)
- python矩阵怎么生成(python实现矩阵打印)
- html5淘汰的标签(浅谈HTML5新增和废弃的标签)
- react的setstate第二个参数(示例详解react中useState的用法)
- wampserver配置教程图文(WampServer安装配置及使用图文教程)
- pgsql函数里有多个事务如何处理(关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析)
- nginx配置静态资源访问(nginx 多个location转发任意请求或访问静态资源文件的实现)
- dedecms怎么使用(DEDECMS网站系统目录权限设置教程)
- vue实现商品详情讲解(京东 Vue3 组件库支持小程序开发的详细流程)
- mysql什么是慢查询(MySQL慢查询的坑)