数据库-mongodb-高级查询表达式
2016-03-20 21:08
423 查看
不等于 $nq
NOSQL后面的这个cat_id:1就是显示,id:0就是不显示的意思
高于3000元的商品
in的操作
all
逻辑运算符
$and用法
db.goods.find({$and:[{shop_price:{$lt:3000},{shop_price:{$gt:2000}}]},{goods_name:1,goods_count:1});
$nin的用法
等同于
$nor用法
既不是3,也不是4
元素运算符
good_id除5取余,余数为0 的被选择出来
找出文档中存在age字段的记录
类型判断有个列表
$where
这个关键字的用法是将mongodb存储的二进制先转换为json格式的数据,然后再调用js的引擎来执行js代码,效率比较低,不推荐使用,好处是表达式可以非常的复杂,如果难以实现又不追求效率就可以考虑这种写法
加上多种条件后复杂的判断
$regex 正则匹配为真 效率不高
db.goods.find({goods_name:{$regex:/^诺基亚.*/}},{goods_name:1,goods_id:1});
来自为知笔记(Wiz)
高于3000元的商品
运算符 | 对应mysql运算符 |
$gt | > |
$gte | >= |
$in | in |
$lt | < |
$lte | <= |
$ne | != |
$nin | not in |
$all | 无对应项,指数组所有单元匹配 |
名称 | 描述 |
$or | or |
$and | and |
$not | not |
$nor | 无对应项,“所有举例条件都不成功,则为真” |
db.goods.find({$and:[{shop_price:{$lt:3000},{shop_price:{$gt:2000}}]},{goods_name:1,goods_count:1});
$nin的用法
既不是3,也不是4
名称 | 描述 |
$exists | 某列存在则为真 |
$mod | 满足某求余条件则为真 |
$type | 数据为某类型则为真 |
$where
这个关键字的用法是将mongodb存储的二进制先转换为json格式的数据,然后再调用js的引擎来执行js代码,效率比较低,不推荐使用,好处是表达式可以非常的复杂,如果难以实现又不追求效率就可以考虑这种写法
db.goods.find({goods_name:{$regex:/^诺基亚.*/}},{goods_name:1,goods_id:1});
来自为知笔记(Wiz)
相关文章推荐
- 数据库-mongodb-常用命令
- mongodb安装启动mongodb
- MongoDB自动增长
- (一)MongoDB简介
- 数据库-mongodb-基础
- MongoDB固定集合(Capped Collections)
- MongoDB ObjectId
- MongoDB监控
- MongoDB分片
- MongoDB复制
- MongoDB基本管理命令操作
- windows平台安装并使用MongoDB
- MongoDB理解
- 使用Java查询MongoDB数据库并封装成查询服务实践
- linux部署mongodb及基本操作
- MongoDB的常规备份策略
- laravel 连接mongodb
- mongodb调优那些事(一)-系统设置
- mongodb远程连接
- mongodb用户管理总结