MongoDB 最大的特点是他支持的查询语言很强大,其语法有点类似于面向对象的查询语 言。差点儿能够实现类似关系数据库单表查询的绝大部分功能,并且还支持对数据建立索引。
最后因为 MongoDB 能够支持复杂的数据结构,并且带有强大的数据查询功能。因此很受 到欢迎。许多项目都考虑用 MongoDB 来替代 MySQL 等传统数据库来实现不是特别复杂的 Web 应用。
因为数据量实在太大。所以迁移到了 MongoDB 上面,数据查询的速度得到了非 常显著的提升。
以下将介绍一些查询语法
1、 条件操作符
<, <=, >, >= 这个操作符就不用多解释了 ,最经常使用也是最简单的
db.collection.find({ "field" : { $gt: value } } ); // 大于: field > value db.collection.find({ "field" : { $lt: value } } ); // 小于: field < value db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field <= value
假设要同一时候满足多个条件。能够这样做
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value
2、$all 匹配全部
这个操作符跟 SQL 语法的 in 类似,但不同的是, in 仅仅需满足( )内的某一个值就可以, 而$all 必须满足[ ]内的全部值,比如:
db.users.find({age : {$all : [6, 8]}});
能够查询出 {name: ‘David’, age: 26, age: [ 6, 8, 9 ] }
但查询不出 {name: ‘David’, age: 26, age: [ 6, 7, 9 ] }
3、$exists 推断字段是否存在
查询全部存在 age 字段的记录
db.users.find({age: {$exists: true}});
查询全部不存在 name 字段的记录