Bootstrap

NoSQL数据库原理与应用-MongoDB基础

1.MongoDB查询

1.1 find简介

lMongoDB 查询数据的语法格式如下:

  db.collection.find( {query}, {projection} )

参数说明:

query :可选,使用查询操作符指定查询条件。

projection :可选,指定返回的键

db.col.find().pretty()

pretty() 方法以格式化的方式来显示所有文档

1.1.1 查询所有数据

空的查询文档{}会匹配集合的全部内容。若是不指定查询文档,默认就是{}。

例如:

1、db.user.find({})                                            即查询user集合中的全部内容

2、db.user.find({“age”:18})                            查找所有的“age”的值为18的文档

3、db.user.find({“name”:“jack”})                    想匹配一个字符串,“name”的值为“jack”的

4、db.user.find({“name”:“jack”,“age”:18}) 查询所有用户名为“jack”且年龄为18的用户

1.1.2 指定返回键

 

 指定键的值为0,不返回该键值对;为1时返回

user集合的数据

查看命令:db.user.find({},{”_id”:0,“username”:1}) 

1.2 查询条件

1.2.1 比较操作符

    $lt:小于(<)

    $lte :小于等于(<=)

    $gt :大于(>)

    $gte :大于等于(>=)

    $ne :不等于(≠)

db.user.find({“age”:{“$gte”:18}})

需求:

查询user集合中:年龄在18到28的用户

命令:

db.user.find({“age”:{“$gte”:18,“$lte”:28}})

1.2.2包含($in)或不包含($nin)

示例:

(1)查询国籍是中国或者美国的学生信息

db.persons.find({country:{$in:[“USA”,“China”]}})

(2)查询国籍不是中国或美国的学生信息。

db.persons.find({country:{$nin:[“USA”,“China”]}})

1.2.3 ”$or”查询与“$not”查询

 $or 查询

查询语文成绩大于90或者英语成绩大于85的学生信息:

db.personsr.find({$or:[{c:{$gte:85}},{e:{$gte:90}}]})

$not 查询

查询出名字中不存在“foo”的学生的信息:

db.persons.find({name:{$not:/foo/}})

1.3 特定类型查询

1.3.1 null

 

;