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”查询对结果进行调优
- MongoDB 日志文件太大
- 什么是mongodb 固定集合
- mongodb中mapreduce实例
- mongodb备份和还原
- MongoDB命令与SQL语法对比
- mongodb query查询
- mongodb简单介绍和安装
- mongodb索引的优化
- docker中的mongodb(Docker mongoDB 4.2.1 安装并收集springboot日志的步骤详解)
- mongodb python教程(python使用pymongo操作mongo的完整步骤)
- mongodb objectid类型
- mongodb连接池
- mongodb group分组
- linuxmongodb安装路径(Linux安装MongoDB启动及常见问题解决)
- MongoDB中的索引的操作
- mongodb查询
- 臭名昭著的731部队最高负责人 石井四郎(臭名昭著的731部队最高负责人)
- 王牌部队,你看的剧情我看的时尚(你看的剧情我看的时尚)
- 被鉴定的古董价值300万 当心,你可能遇到诈骗了(被鉴定的古董价值300万)
- 英语难学吗(初中英语难学吗)
- 如何追女孩子(如何追女孩子的技巧和方法)
- 是不是快乐全被你拿走了(而是你得到的)
热门推荐
- 虚拟主机干嘛用的(虚拟主机购买后怎么操作?)
- ucenter安装配置(使用ucenter实现多站点同步登录的讲解)
- SQL Server Profile事件含义
- dedecms更新后设置空白(织梦DedeCms上传的图片点击打开改为不新窗口打开)
- pythonlist类型教程(Python List cmp知识点总结)
- mongodb distinct去重
- 阿里云的自带mysql怎么开启(阿里云云服务器mysql密码找回的方法)
- js时间变成日期格式(js日期时间格式化的方法实例)
- nginx跳转规则配置上下文(基于nginx实现上游服务器动态自动上下线无需reload的实现方法)
- phpstudy中php用什么版本(phpstudy是什么?phpstudy有什么用?)