MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB 创建数据库
语法:
1 | use DATABASE_NAME |
如果数据库不存在,则创建数据库,否则切换到指定数据库。
MongoDB 删除数据库
语法:
1 | db.dropDatabase() |
删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。
MongoDB 创建集合
语法:
1 | db.createCollection(name, options) |
参数说明:
name: 要创建的集合名称
options: 可选参数, 指定有关内存大小及索引的选项
MongoDB 删除集合
语法:
1 | db.collection.drop() |
MongoDB 插入文档
文档的数据结构和 JSON 基本一样。
所有存储在集合中的数据都是 BSON 格式。
BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。
插入文档
语法:
1 | db.COLLECTION_NAME.insert(document) |
MongoDB 更新文档
update() 方法
语法:
1 | db.collection.update( |
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc…)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
save() 方法
语法:
1 | db.collection.save( |
参数说明:
document : 文档数据。
writeConcern : 可选,抛出异常的级别。
MongoDB 删除文档
语法:
1 | // 如果你的 MongoDB 是 2.6 以前的版本 |
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
MongoDB 查询文档
find() 方法以非结构化的方式来显示所有文档,语法:
1 | db.collection.find(query, projection) |
query : 可选,使用查询操作符指定查询条件
projection : 可选,使用投影操作符指定返回的键。查询时返回文档中所有键值,只需省略该参数即可(默认省略)。
pretty() 方法以格式化的方式来显示所有文档,语法:
1 | >db.col.find().pretty() |
MongoDB 条件操作符
MongoDB (>) 大于操作符 - $gt
如果你想获取 “col” 集合中 “likes” 大于 100 的数据,你可以使用以下命令:
1 | db.col.find({likes : {$gt : 100}}) |
MongoDB (<) 小于操作符 - $lt
如果你想获取”col”集合中 “likes” 小于 100 的数据,你可以使用以下命令:
1 | db.col.find({likes : {$lt : 100}}) |
MongoDB(>=)大于等于操作符 - $gte
如果你想获取”col”集合中 “likes” 大于等于 100 的数据,你可以使用以下命令:
1 | db.col.find({likes : {$gte : 100}}) |
MongoDB (<=) 小于等于操作符 - $lte
如果你想获取”col”集合中 “likes” 小于等于 100 的数据,你可以使用以下命令:
1 | db.col.find({likes : {$lte : 100}}) |
MongoDB 使用 (<) 和 (>) 查询 - $lt 和 $gt
如果你想获取”col”集合中 “likes” 大于100,小于 200 的数据,你可以使用以下命令:
1 | db.col.find({likes : {$lt :200, $gt : 100}}) |
MongoDB Limit() 方法
如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
语法:
1 | >db.COLLECTION_NAME.find().limit(NUMBER) |
MongoDB Skip() 方法
我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
语法:
1 | >db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER) |
MongoDB sort() 方法
在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
语法:
1 | >db.COLLECTION_NAME.find().sort({KEY:1}) |