MongoDB 是一个基于分布式文件存储的数据库。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。

插入文档

插入集合

返回 _id 字段

插入多个文档

插入指定 _id 的多个文档

查询文档

查询一条数据

查询集合中所有数据

查询指定字段的数据

根据指定条件查询

高级查询

返回指定条数记录

修改文档

删除数据

删除多个文档

删除集合中的所有文档

删除集合

首先需要安装MongoDB,安装过程就不详细赘述了??

然后Python 要连接 MongoDB 需要 MongoDB 驱动,用pip安装

插入文档

MongoDB 中的一个文档类似 SQL 表中的一条记录。

集合中插入文档使用 insert_one() 方法,该方法的第一参数是字典 name => value 对。

例:向 sites 集合中插入文档

结果如下:

insert_one() 方法返回 InsertOneResult 对象,该对象包含 inserted_id 属性,它是插入文档的 id 值。

结果如下:

集合中插入多个文档使用 insert_many() 方法,该方法的第一参数是字典列表。

输出结果类似如下:

我们也可以自己指定 id,插入,以下实例我们在 site2 集合中插入数据,_id 为我们指定的:

结果如下:

查询文档

MongoDB 中使用了 find find_one 方法来查询集合中的数据,它类似于 SQL 中的 SELECT 语句。

我们可以使用 find_one() 方法来查询集合中的一条数据。

例:查询 sites 文档中的第一条数据

结果如下:

find() 方法可以查询集合中的所有数据,类似 SQL 中的 SELECT * 操作。

我们可以使用 find() 方法来查询指定字段的数据,将要返回的字段对应值设置为 1

结果如下:

我们可以在 find() 中设置参数来过滤数据。

例:查找 name 字段为 “NOWCODER” 的数据

结果如下:

查询的条件语句中,我们还可以使用修饰符。

以下实例用于读取 name 字段中第一个字母 ASCII 值大于 “H” 的数据,大于的修饰符条件为 {“$gt”: “H”} :

结果如下:

如果我们要对查询结果设置指定条数的记录可以使用 limit() 方法,该方法只接受一个数字参数。

例:返回 3 条文档记录

结果只有三条了:

修改文档

我们可以在 MongoDB 中使用 update_one() 方法修改文档中的记录。该方法第一个参数为查询的条件,第二个参数为要修改的字段。如果查找到的匹配数据多余一条,则只会修改第一条。

例:将 alexa 字段的值 10000 改为 12345

update_one() 方法只能修匹配到的第一条记录,如果要修改所有匹配到的记录,可以使用 update_many()

以下实例将查找所有以 F 开头的 name 字段,并将匹配到所有记录的 alexa 字段修改为 123

sort() 方法可以指定升序或降序排序。

sort() 方法第一个参数为要排序的字段,第二个字段指定排序规则,1 为升序,-1 为降序,默认为升序。

以上代码实现了对字段 alexa 按升序排序。

删除数据

我们可以使用 delete_one() 方法来删除一个文档,该方法第一个参数为查询对象,指定要删除哪些数据。

例:删除 name 字段值为 “Taobao” 的文档

我们可以使用 delete_many() 方法来删除多个文档,该方法第一个参数为查询对象,指定要删除哪些数据。

例:删除所有 name 字段中以 F 开头的文档

结果如下:

delete_many() 方法如果传入的是一个空的查询对象,则会删除集合中的所有文档:

结果如下:

我们可以使用 drop() 方法来删除一个集合。

以下实例删除了 customers 集合:

如果删除成功 drop() 返回 true,如果删除失败(集合不存在)则返回 false。

原文链接:https://blog.csdn.net/knighthood2001/article/details/127063083

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。