首页

3.4MongoDB的基本操作

关灯 护眼    字体:

上一章 章节列表 下一页


增、查、改、删是所有数据库必备的功能。本节将介绍如何使用 MongoDB 来实现这四个功能。



3.4.1 实例3:创建数据库与集合,写入数据


实例描述

在Robo 3T中进行如下操作。

(1)创建一个名为“chapter_3”的数据库,以及其中的多个集合。

(2)往集合里逐条插入数据。

(3)往集合里批量插入数据。

使用Robo 3T打开刚刚安装完成的MongoDB,可以看到A区域是空的,还没有数据库,如图3-21所示。

图3-21 MongoDB是空的

1.创建数据库与集合

(1)鼠标右击“小电脑”图标,在弹出的菜单中选择“Create Database”命令,如图3-22所示。

(2)在弹出的对话框中输入数据库的名字,单击“Create”按钮完成数据库的创建,如图3-23所示。

图3-22 选择“Create Database”命令

图3-23 输入数据库名字并单击Create按钮

(3)新创建的数据库会出现在 A 区域中。单击数据库左边的小箭头将其展开,然后右击“Collections(0)”文件夹,在弹出的菜单中选择“Create Collection...”命令,如图3-24所示。

(4)在弹出的对话框中输入集合的名字,然后单击“Create”按钮(如图3-25所示)创建一个集合。

图3-24 选择“Create Collection...”命令

图3-25 输入集合名字并单击“Create”按钮

(5)创建完集合后,原来的“Collections(0)”变成了“Collections(1)”。由此可以推测:括号里面的数字表示这个数据库里面有多少个集合。单击“Collections(1)”左侧的小箭头将其展开,可以看到集合“example_data_1”已经创建好了。双击集合名字,可以看到当前集合里什么都没有,如图3-26所示。

图3-26 空集合什么都没有

2.插入单条数据

插入单条数据的命令为“insertOne()”。

Robo 3T自带插入数据的功能。但是本书不准备介绍。本书会直接介绍如何在C区域执行MongoDB命令插入数据。

(1)创建一条JSON字符串。例如:

{"name": "张小二", "age": 17, "address": "浙江"}

(2)对C区域的内容做一些修改。

原来是:

db.getCollection('example_data_1').find({})

修改为:

db.getCollection('example_data_1').insertOne({"name": " 张小二 ", "age": 17,"address": "浙江"})

(3)使用Windows与Linux的读者,可以按键盘上的“Ctrl + R”组合键;使用macOS的读者按“Command + R”组合键。运行后的界面如图3-27所示。可以看到,一条数据已经插入到了MongoDB中。

图3-27 插入数据

提示:

还可以通过单击Robo 3T上面的绿色三角形来运行命令。

(4)在 A 区域双击集合“example_data_1”,从新打开的选项卡中可以看到数据已经成功插入,如图3-28所示。

图3-28 数据已经成功插入

被插入的数据就是JSON字符串:

{"name": "张小二", "age": 17, "address": "浙江"}

提示:

JSON字符串必须使用双引号,不过这个规定在MongoDB中并非强制性的,用单引号也没有问题。例如,在C区域执行以下命令:

db.getCollection('example_data_1').insertOne({'name': ’王小六’, 'age': 25, 'work': ’厨师’})

插入以后,集合“example_data_1”中的数据如图3-29所示。

图3-29 插入第二条数据

如果将Python的字典直接复制到MongoDB的insertOne命令中,则绝大部分情况下这些字典都可以直接使用,只有极少数情况下需要做一些修改。3.4节将会讲到这些少数情况。

提示:

MongoDB还允许Key不带引号,直接写成{name: ’王小六’, age: 25, work: ’厨师’}。但这种写法存在一些局限性,并且会导致MongoDB的命令不方便平滑移植到Python中。因此,建议读者一律使用带单引号的写法或者带双引号的写法。

3.调整插入的字段

(1)任意修改、添加、删除字段。

在图3-29中,第1条数据没有“work”这个字段,第2条数据没有“address”这个字段。这就说明:在MongoDB里,插入数据的字段是可以任意修改、添加、删除的。

例如,再插入一条新的数据:

这一次所有的字段都和前两条数据不一样,但 MongoDB 仍然可以轻松处理——遇到新来的字段,加上去就是了,没什么大不了的,如图3-30所示。

图3-30 遇到新的字段,MongoDB会自动添加上去

(2)插入同一个字段,但格式却不同。

即使是同一个字段,其数据格式也可以不一样。

例如,再插入一条数据:

添加后的数据如图3-31所示。

图3-31 同一个字段的数据格式也可以不一样

提示:


m.qiduwx.com提示您,本章没有阅读完,点击下一页进入下一页阅读!

上一章 章节列表 下一页