这是我参与「第四届青训营」笔记创作活动的第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、指定数据库和集合、查询、计数、排序、更新、删除。