通过 MongoDB 数据库安装详细教程 安装完成了MongoDB,MySQL数据库是通过sql命令操作数据,而MongoDB是通过类Javascript函数的查询方式进行数据库的操作,在使用MongoDB来操作数据库之前先来简单的了解MongoDB操作注意:
MongoDB数据库命名规则
- 不能是空字符串 ;
- 不能含有 / \ ? $ 空格 空字符 ,基本上只能使用Ascll码中字母和数字 ;
- 区分大小写,建立全部小写 ;
- 名称最多为64个字节 ;
- 不能使用保留的数据库名: admin ,local ,config
在安装完成MongoDB数据库时,MongoDB中就有保留了如下这些数据库,这些数据库在你安装完成后就已经存在了的;
库名 | 作用 |
admin | 权限数据库,添加用户到该数据库中,该用户会自动继承数据库的所有权限 |
local | 数据库中的数据永远不会被复制 |
config | 分片时,config数据库在内容使用,保存分子信息 |
test | 默认数据库,可以用来做各种测试等 |
在进行下面操作之前确定已经安装且已经配置好环境变量以及MongoDB服务已经启动运行;
查看数据库
通过如下命令就可以查看在你电脑存在的Mongodb数据库了;
show dbs;
创建数据库
MongoDB使用use命令创建数据库,若数据库不存在,MongoDB 会在第一次使用该数据库时创建数据库。若数据库已经存在则连接数据库,然后可以在该数据库进行各种操作。
创建一个名为syan的数据库;
use syan;
db;
创建集合
集合是一组文档,是无模式的,集合名称要求符合UTF-8标准字符串,同时还有遵循
- 集合名不能是空字符串
- 不能含有空字符 \0
- 不能以 'system.' 开头,这是系统集合保留的前缀
- 集合名不能含保留字符 $
MongoDB 创建集合就相当于M有SQL去创建一个表table,这样就好理解一些;
MongoDB 创建集合有两种方式 显式 和 隐式 ;
显示创建
通过db.createCollection()方法实现,格式为db.createCollection(name, [options]),name是创建集合名称,options是可选,指定内存大小和索引等;
db.createCollection('sName');
隐式创建
隐式创建则是通过添加数据自动创建的;如果不理解的话,先放一放,看过后面再回头看就一目了然;
查询集合
MySQL数据库通过SHOW TABLES 可以列出所有表,MongoDB数据库则是通过show collections 查询所有集合;
show collections;
再来创建一个集合查询列表;
查看集合
通过 getCollectionNames() 方法查看当前数据库下的所有集合,格式如下:
db.getCollectionNames();
show collections 列出所有的集合,而getCollectionNames() 是以数组的形式返回所有集合;
修改集合名称
使用 renamecollection() 方法可对集合进行重新命名,将Age集合名改为sAge;
db.集合名.renameCollection('新集合名');
再来创建一个集合;
删除集合
删除集合可以通过drop()方法;格式如下:
db.集合名.drop();
下面来删除sSex这个集合:
下面来进行在集合中进行数据的增删改查;在MySQL数据中增删查改的是称为记录,MongoDB中则是文档,文档是MongoDB中存储的基本单位,是一组有序的键值对集合;文档中存储的文档键的格式必须是符合 UTF-8 标准的字符串,同时还要注意不能含有空字符(\0),该字符表示键的结束,还不能含 "." 和 "$" (已保留,仅特定情况使用);
增
通过 save() 方法可以添加数据,格式如下:
db.集合.save();
通过 insert() 方法可以添加数据,格式如下:
db.集合.insert();
通过 insertOne() 可以添加一条数据;
通过 insertMany() 方法可以添加多条数据,insert()方法也同样可以添加多条数据;格式:
db.集合名.insertMany();
使用insert() 来添加多条数据;如下:
使用 save() 方法也是同样可以添加多条数据的;
查
下面来查询数据,通过上面的操作,大概已经知道了可以使用 find() 方法来查询了,格式:
db.集合.find([query, projection])
[ ] 中的是可选项,query为设置查询操作符指定查询条件,而projection表示使用投影操作符指定返回的字段,若忽略此选项则返回所有字段。
使用find() 方法以非结构化的方式来显示所要查询的文档;
查询集合中的所有文档时,为了使显示的结果更为直观,可使用 pretty() 方法以格式化的方式来显示所有文档,格式如下:
db.集合.find().pretty();
通过 findOne() 方法可以查询一条数据内容;格式如下:
db.集合.findOne();
条件查询
下面先来给集合sAge添加一些数据;sAge主要收集成员在这些年龄段会读哪一类别的书籍,类别以编号代替;通过刚刚讲过的添加数据往sAge添加一些数据:
现在要来查询读类别编号为1001 (rbook:1001) 的成员信息;如下命令:
db.sAge.find({rbook:1}).pretty();
MongoDB 支持RDBMS 的条件操作符:
> | $gt |
< | $lt (小写L) |
>= | $gte |
<= | $lte |
!= | $ne |
与 - and | db.test.find( {name : "LIN", age: 18} ) |
或 - or | db.test.find( $or:[ {name : "YAN", age : 18} ] ) |
下面进一步的使用这些条件操作符查询:
- 查询 age > 18 的数据信息;
db.sAge.find({age:{$gt:18}});
查询 age < 19 的数据信息;
db.sAge.find({age:{$lt:19}});
查询 age >= 19 的数据信息;
db.sAge.find({age:{$gte:19}});
查询 age <= 19 的数据信息;
db.sAge.find({age:{$lte:19}});
查询 age = 18 和 rbook = 1001 的数据信息;
db.sAge.find({age:18,rbook:1001}).pretty();
查询age >=18 和 rbook = 1002 或者 age <= 19 和 rbook = 1002 的数据信息;
db.sAge.find({$or:[{age:{gte:18},rbook:1001},{age:{lte:19},rbook:1002}]});
以上就是关于查询的部分,搭配操作符进行结合使用;
改
MongoDB数据库中可以通过使用 update() 和 save() 方法来进行数据的修改集合中的文档,在前面通过save() 方法添加数据和添加多条数据;下面来分别使用这两个方法:
update() 方法格式如下:
db.集合.update(
<query>, // 参数设置查询条件。
<update> // 为更新操作符。
)
<update>
{$set: {//更新字段}}
先来更新一个字段;sAge 中 name: <LIN> 的 <age> : 18 —— 更改为 <age> : 20 ;
db.sAge.update(
{name:'LIN'},
{$set:{age:20}}
);
如要多个字段内容,同样的只需要在$set: 中编写要修改的字段内容即可;现在来修改一下信息将<age>:18 ,<rbook>:1001 修改字段为 <age> : 19, <rbook>: 1004;
db.sAge.update(
{name:'XXM'},
{$set:{age:19,rbook:1004}}
);
通过使用 save() 方法讲上面已被修改的数据再修改回来;
以上就是MongoDB数据库修改集合中的文档的内容了。
删
MongoDB数据库中可以通过 remove() 方法 来删除集合中的文档;下面切换到sName集合然后来删除集合中一条name为HAN的文档数据:
db.集合.remove();
下面来删除sAge集合中字段将 age > 19 的文档进行删除;
通过使用 deleteOne() 方法可以删除一条文档;
db.集合.deleteOne();
通过使用 deleteMany() 方法删除集合中多条文档,如果要删除所有文档可以使用以下命令:
db.集合.deleteMany({});
同时也可以使用 deleteMany() 方法来删除多条数据;如下格式来测试一下:
db.集合.deleteMany({},{});
下面来直接使用 deleteMany({}) 方法删除所有文档:
统计数据库信息
通过 stats() 命令可以进行统计数据库信息;
db.stats();
删除数据库
可以通过 dropDatabase() 方法来删除数据库;
db.dropDatabase();
以上就是本篇的全部内容了,关于MongoDB数据库使用命令来操作,进一步的了解MongoDB 数据库 与 MySQL数据库 的区别,那么之后会通过 MongoDB 图形化工具来进一步的使用MongoDB 数据库,感谢大家的支持!