MongoDB
简介
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
- 开启数据库
- 在开启,数据库之前必须,安装好,数据库,并且,配置好环境变量。
- 开启命令:
mongod --dbpath G:\MongoDB_Database_File_Repository
后面,为你的数据文件存放地
连接数据库
- 在上个命令窗口未关闭情况下,新开个命令窗口输入:
mongo
- 在上个命令窗口未关闭情况下,新开个命令窗口输入:
简单CRUD
作用 | 语法 | 例子 |
---|---|---|
查看,有哪些数据库,注意:只会展示,里面有数据的数据库! | show dbs | |
使用指定数据库,如果,指定的不存在,即为创建! | use 数据库名 | |
查询,数据下的所有collection(表) | show collections | |
删除数据库 | db.dropDatabase() | |
删除表 | db.集合名.drop() | |
查询,目前所在哪个数据库 | db | · |
数据插入
作用 | 语法 | 例子 |
---|---|---|
数据插入,方法一 | db.集合名.insert({“_id”:1,”name”:”test”}) | |
数据插入,方法二 | db.集合名.save() |
区别:
若新增的数据中存在主键 ,insert() 会提示错误,而save() 则更改原来的内容为新内容。已存在数据: {_id : 1, " name " : " n1 " },再次进行插入操作时,
insert({_id : 1, " name " : " n2 " }) 会报主键重复的错误提示
save({ _id : 1, " name " : " n2 " }) 会把 n1 修改为 n2 。
相同点
若新增的数据中没有主键时,会增加一条记录。
已存在数据: { _id : 1, " name " : " n1 " },再次进行插入操作时,
insert({ " name " : " n2 " }) 插入的数据因为没有主键,所以会增加一条数据
save({ " name " : " n2 " }) 增加一条数据。
数据查询
- 逻辑符号
作用 | 语法 | 例子 |
---|---|---|
查询,表中的所有数据 | db.集合名(即表名).find() | |
查询与条件相同的值 | db.集合名.find({条件}) | |
查询大于条件的数据 | db.集合名.find({条件}) | |
查询小于条件的数据 | db.集合名.find({条件}) | |
and 查询 | db.集合名.find({$and:[{条件一},{条件二}]}) | |
or 查询 | db.集合名.find({$or:[{条件一},{条件二}]}) |
数据修改
作用 | 语法 | 例子 |
---|---|---|
修改单个 | db.集合名.update({条件},{$set:{新数据}}) | |
修改多个 | db.集合名.update({条件},{$set:{新数据}},{multi:true}) |
删除数据
作用 | 语法 | 例子 |
---|---|---|
删除符合条件的数据 | db.集合名.remove({条件}) | |
删除所有的数据 | db.集合名.remove({}) |
排序数据
作用 | 语法 | 例子 |
---|---|---|
降序 | db.集合名.find().sort({列名:-1}) | |
升序 | db.集合名.find().sort({列名:1}) |