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 字段的记录

posted on 2017-07-20 13:32  lxjshuju  阅读(183)  评论(0编辑  收藏  举报