PyMongo新增数据

这是我参与更文挑战的第26天,活动详情查看:更文挑战

如果❤️我的文章有帮助,欢迎评论、关注、点赞。这是对我继续技术创作最大的鼓励。[更多往期文章请关注 锐玩道]

连接MongoDB

Python 连接 MongoDB数据库,我们需要引入 PyMongo拓展包里面的 MongoClient。并设置 MongoDB数据库服务 的 IP地址(host)和端口(port)(MongoDB 默认端口为 27017):

from pymongo import MongoClient

conn = MongoClient(host='localhost', port=27017)
print(conn)
复制代码

鼠标右击 PymongoUtil.py 文件,选择 Run(运行)。运行面板输出以下结果
图片描述

你会好奇 为什么一定要填host、port?是哪里制定的?

其实都是PyMongo拓展包代码里面规定好的。按住 Ctrl把鼠标移到 代码 类MongoClient 上方,就有对应代码提示。点击进入更有详细说明,感兴趣可以课后去多多了解
图片描述

指定数据库、集合

pymongo 这里有个特点:数据库、集合存在时,使用当前的;不存在时自动创建;

db = conn['students']
collect = db['score']
复制代码

新增数据

pymongo 新增数据以字典形式表示

# 单条记录
dict = {
    "class_name" : "高三(1)班",
    "student_name" : "李四",
    "subject" : "英语",
    "score" : 73
}

# 多条记录
dicts = [{
    "class_name" : "高三(1)班",
    "student_name" : "李四",
    "subject" : "英语",
    "score" : 73
},{
    "class_name" : "高三(1)班",
    "student_name" : "王五",
    "subject" : "英语",
    "score" : 87
}]
复制代码

这里我们以上节的 students数据库score集合 举例演示如何插入数据。

ret2insert = collect.insert_one(dict)
print(ret2insert.inserted_id)
# 添加单条记录,返回记录id:5eba129c770ceaca7ef033c9


ret2insert = collect.insert_many(dicts)
print(ret2insert.inserted_ids)
# 添加多条记录,返回每条记录id:[ObjectId('5eba129c770ceaca7ef033ca'), ObjectId('5eba129c770ceaca7ef033cb')]
复制代码

如果想获得方法的更多说明,可以 crtl + 点击 方法 查看方法介绍。其他方法调用也一样,具体操作如下:
图片描述