上次介绍了MongDB的安装与启动,每次启动都要mongod --dbpath xxx,NoSQL之MongoDB简介及入门(二)

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

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

NoSQL之MongoDB简介及入门(二)

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

二、MongoDB的数据模型

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

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

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

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

三、MongoDB的基本操作

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


NoSQL之MongoDB简介及入门(二)

右键新建一个连接


NoSQL之MongoDB简介及入门(二)

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

NoSQL之MongoDB简介及入门(二)

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


NoSQL之MongoDB简介及入门(二)

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

NoSQL之MongoDB简介及入门(二)

创建一个新的集合

NoSQL之MongoDB简介及入门(二)

NoSQL之MongoDB简介及入门(二)

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

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

NoSQL之MongoDB简介及入门(二)

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

NoSQL之MongoDB简介及入门(二)

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

同意remove也支持条件筛选

NoSQL之MongoDB简介及入门(二)

不传参数则为清空全表

NoSQL之MongoDB简介及入门(二)

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

NoSQL之MongoDB简介及入门(二)

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

NoSQL之MongoDB简介及入门(二)


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

NoSQL之MongoDB简介及入门(二)

NoSQL之MongoDB简介及入门(二)

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

NoSQL之MongoDB简介及入门(二)

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

NoSQL之MongoDB简介及入门(二)

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

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

参数说明:

criteria:查询条件

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

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

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

NoSQL之MongoDB简介及入门(二)

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


相关文章:

  • 2021-11-17
  • 2021-12-19
  • 2021-10-25
  • 2022-12-23
  • 2021-08-24
  • 2021-11-17
猜你喜欢
  • 2021-08-15
  • 2021-07-01
  • 2021-11-05
  • 2021-06-23
  • 2021-12-06
  • 2021-11-23
  • 2022-02-11
相关资源
相似解决方案