在获取到集合连接对象collection后,就可以用这个对象的各个方法来操作MongoDB了。最基本的就是增、删、改、查操作。

虽然 MongoDB 的命令和 collection 的方法名在写法上有微小的差异,但绝大多数的MongoDB语句的参数直接复制到Python代码中都可以使用。
MongoDB的命令使用的是驼峰命名法,而PyMongo使用的是蛇形命名法。它们的对比见下表:

MongoDB命令PyMongo方法
insertOneinsert_one
insertManyinsert_many
findfind
updateoneupdate_one
updateManyupdate_many
deleteOnedelete_one
deleteManydelete_many

1、单条写入

基本语法

collection.insert_one(字典)  # 插入一条数据

实现代码

__author__ = "dengxinyan"

from pymongo import MongoClient

conn = MongoClient(host='localhost', port=27017, username=None, password=None)

database = conn['spider']
collection = database['news']

res = collection.insert_one({'title':'2022年10月1日早间新闻','time':'2022-10-01','status':1})  # 插入一条数据

2、插入多条

基本语法

collection.insert_many(包含字典的列表)  # 批量插入多条数据

实现代码

__author__ = "dengxinyan"

import datetime
from pymongo import MongoClient

conn = MongoClient(host='localhost', port=27017, username=None, password=None)

database = conn['spider']
collection = database['news']

data_list = [
    {'title':'2022年10月1日早间新闻','time':datetime.datetime.strptime('2022-10-01','%Y-%m-%d'),'status':1},
    {'title':'2022年10月2日早间新闻','time':datetime.datetime.strptime('2022-10-02','%Y-%m-%d'),'status':1},
    {'title':'2022年10月3日早间新闻','time':datetime.datetime.strptime('2022-10-03','%Y-%m-%d'),'status':1},
    {'title':'2022年10月4日早间新闻','time':datetime.datetime.strptime('2022-10-04','%Y-%m-%d'),'status':1},
    {'title':'2022年10月5日早间新闻','time':datetime.datetime.strptime('2022-10-05','%Y-%m-%d'),'status':1},
]
res = collection.insert_many(data_list)  # 插入一条数据
print(res)

阅读原文

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐