NoSQL之MongoDB简介及入门(二)

上次介绍了MongDB的安装与启动,每次启动都要mongod --dbpath xxx,

可以新建一个bat文件,这样每次启动都会方便一些

一、建议使用的可视化工具

在cmd命令行届满操作MongoDB不是很方便,这里推荐安装Robo 3T,官网https://robomongo.org/,安装很简单,这里就不多说。

二、MongoDB的数据模型

MongoDB是面向文档的数据库,不是关系型数据库。放弃关系模型的主要原因是为了获得更好的扩展性。

基本的思路就是将原本的“表”概念换成了集合(collection),将“行”换成了文档。在MongoDB钟可以将文档或者数组内嵌到文档之中,可以用一条记录表示非常复杂的层次关系。

集合可以看做是没用模式的表

MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限

三、MongoDB的基本操作

接下来启动MongoDB,启动安装好的可视化工具



右键新建一个连接


一切默认就ok,点test测试是否连接成功。点击save保存连接设置。


创建一个新的数据库,用来演示接下来的操作。



新建的数据库中没有数据,集合为0。

创建一个新的集合



支持js语法,这里用for循环插入一些数据

ps:(db.getCollection('collection1').insert({"x":i}) i 为x键的值,这条语句即为向名为collection1的集合中插入一条x为i的记录)


用findOne可以查找到集合中的第一条数据。


也可以通过find进行条件筛选查询(支持模糊查询)

同意remove也支持条件筛选


不传参数则为清空全表


insert方法也可以用来插入数组


这样集合中的每一个文档都是


类似格式的。这时候可以通过find({“x”:1}}),查找到图中第二个文档



插入一条x为1,返回个数变为2。


通过update更新x的值,可以看见只更新了一条记录。


通过find可以发现,只更新了最前面的记录。原因如下

db.collection.update(criteria,objNew,upsert,multi)

参数说明:

criteria:查询条件

objNew:update对象和一些更新操作符

upsert:如果不存在update的记录,是否插入objNew这个新的文档,true为插入,默认为false,不插入。

multi:默认是false,只更新找到的第一条记录。如果为true,把按条件查询出来的记录全部更新。


如果要将x为1的记录全部更新,需要将参数multi设置为true,并使用修改器$set


猜你喜欢

转载自blog.csdn.net/qq_40468795/article/details/80642528