全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1509 9
2019-10-15

AIU人工智能学院:数据科学、人工智能从业者的在线大学。

数据科学(Python/R/Julia)数据分析、机器学习、深度学习

NoSQL,全称为Not Only SQL,不仅仅是SQL,泛指非关系型数据库。

NoSQL是基于键值对的存储,不需要进行SQL层的解析,数据之间没有耦合性,性能高。

非关系型数据库可以分为以下几类:

对于爬虫爬取的数据来说,可能会有数据缺失、数据结构嵌套等情况,如果使用关系型数据库村粗的话,需要提前建表,而且表之间的关系关系,数据的序列化等都比较麻烦。如果使用非关系型数据库存储的话,就比较方便了。

本节主要讲解MongoDB的使用。 MongoDB是一个C++编写的、基于分布式文件存储的开源的非关系型数据库系统。其内容存储形式类似于JSON对象,非常灵活。

1. 准备工作

需要安装MongoDB和PyMongo库,第一节“环境配置”都有讲,这里略过。

2. 连接MongoDB

我们使用PyMongo中的MongoClient来连接MongoDB。

另外,还可以使用下面这种方式连接MongoDB。

3. 指定数据库

MongoDB中一般存在很多数据库,怎么指定我们需要操作的数据库呢?

也可以使用这种方式指定。

4. 指定集合

每个数据库包含很多的集合,集合就相当于关系型数据库中的表,怎么指定我们操作的集合呢?

也可以这样写,等价于上面。

5. 插入数据

对于上面的person集合,演示一下怎么插入一条数据。

执行结果如下:

如果插入多条数据呢?我们可以使用insert_many.

执行结果如下:

6. 数据查询

可以使用find_one方法或find方法进行查询.

find_one返回单个结果,find返回的是生成.

这里查询name='Amy'的人, 其返回类型为字典类型.

如果要查询多条结果,使用find方法.

执行结果如下:

如果要返回年龄大于20的数据,怎么写呢?

$gt表示大于号,其他比较符号如下所示:

另外还可以使用正则匹配:

下面是一些特殊符号的说明:

7. 计数

调用count_documents方法,就可以查询有多少条数据。

如果统计符合某条件的数据的数量,可以传入条件:

8. 排序

直接调用sort方法就可以排序,传入参数可以设置其为升序还是降序:

执行结果如下:

9. 偏移

如果我们只想取某几个元素或某些元素,可以使用skip方法跳过一些元素,取到我们需要的元素:

还可以使用limit方法指定要取的结果的个数。

10. 更新

使用update_one和updae_many方法就可以更新数据,只需要指定更新的条件和更新后的数据。

还可以指定某个条件,给其age加1:

上面调用的find_one和update_one方法,如果批量更新的话,可以这样:

11. 删除

删除操作比较简单,直接调用delete_one或者delete_many方法,传入条件即可,符合条件的所有数据都会被删除。

12. 其他

PyMongo还提供了一些其他的方法,如find_one_and_delete、find_one_and_replace、

find_one_and_update、create_index、create_indexes、drop_index等。

不再一一赘述,有需要的话请查询PyMongo文档。


关注“AIU人工智能”公众号,回复“白皮书”获取数据分析、大数据、人工智能行业白皮书及更多精选学习资料!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-10-15 10:32:56
感谢楼主分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-10-15 10:37:55
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-10-15 10:39:50
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-10-15 10:40:27
https://bbs.pinggu.org/thread-7371672-1-1.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-10-15 10:41:52
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群