MongoDB存储|青训营笔记

79 阅读1分钟

这是我参与「第四届青训营」笔记创作活动的第13天。

MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统。其内容存储形式类似JSON对象,它的字段值可以包含其他文档、数组及文档数组。

1链接MongoDB

链接MongoDB需要使用PyMongo 库里面的MongoClient,MongoClient的第一个参数host还可以直接传入MongoDB的连接字符串。

2指定数据库和集合

MongoDB中可以建立多个数据库,需要指定操作其中一个数据库。

MongoDB的每个数据库又包含许多集合(collection) 类似于关系型数据库中的表

3查询

利用find_one或find 方法进行查询。find_one查询得到的是单个结果,find 则返回一个生成器对象。

也可以根据Objectld 来查询,此时需要调用bson 库里面的objectid。查询的条件键值已经不是单纯的数字了,而是一个字典其键名为比较符号$gt

4计数和排序

统计查询结果有多少条数据,可以调用 count方法。用于统计符合某个条件的数据。

排序时可以直接调用sort方法,并在其中传入排序的字段及升降序标志。某些情况下,可能只需要取某几个元素,这时可以利用skip方法偏移几个位置,或用limit 方法指定要取的结果个数。在数据量非常庞大时,最好不要使用大的偏移量,这样很可能导致内存溢出。

5更新和删除

数据更新可以使用update方法,指定更新的条件和更新后的数据即可。可以使用$set 操作符对数据进行更新。

调用remove方法指定删除的条件即可。

6其他操作

PyMongo还提供了一些组合方法,如:

·find_one_and_delete 查找后删除

·find_one_and_replace 替换

·find_one_and_update 更新操作

对索引进行操作相关方法有:

·create_index

·create_indexes

·drop_index

个人总结

本文重点介绍了如何链接MongoDB、指定数据库和集合、查询、计数、排序、更新、删除。