通过 python 操作mongodb

库引入

Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。

import pymongo 

链接数据库

创建数据库需要使用 MongoClient 对象,并且指定连接的ip和端口号。

myclient=pymongo.MongoClient("localhost",27017)#连接数据库

查看数据库和集合

dbs=myclient.list_database_names()#查看所有数据库
dbs
['admin', 'config', 'local', 'test']
mydb=myclient['test']#切换/创建(不存在的时候)数据库test

注意: 在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建

查看集合

colls=mydb.list_collection_names()#查看/罗列集合名
#colls
mycoll=mydb['c1']#切换/显示创建(不存在的时候)集合

显示创建和删除集合

create_collection()创建集合,drop_collection(“love”)删除集合

mydb=myclient['test']
mydb.create_collection("love")#创建集合love
mydb.drop_collection("love")#删除集合love

文档增删改查

查看文档

myclient=pymongo.MongoClient("localhost",27017)#链接服务
mydb=myclient['test']#选择数据库
mycoll=mydb['c1']#选择集合
docs=mycoll.find()#查看文档
#打印文档
for i in docs:
    print(i)
{'_id': ObjectId('664bef6e3dceef39a819193e'), 'name': 'aa1', 'age': 18.0}
{'_id': ObjectId('664bef6e3dceef39a819193f'), 'name': 'aa2', 'age': 18.0}
{'_id': ObjectId('664bef6e3dceef39a8191940'), 'name': 'aa4', 'age': 20.0}
{'_id': ObjectId('664bef6e3dceef39a8191941'), 'name': 'aa5', 'age': 17.0}

插入文档

插入单个文档

insert_one为插入单个文档。该方法的第一参数是字典key:value 对。

d1={
   
   "name":"hakgd","age":88,"major":"大数据"}#python中key也需要使用引号括起来
x=mycoll.insert_one(d1)#插入单个文档insert_one
print(x.inserted_id)#打印文档_id
<pymongo.results.InsertOneResult object at 0x000002049FE76278>
664bfe3b32a3dbc8cddeb487

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

插入多个文档

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

d2=[
    {
   
   "name":"aklgd","age":44},
    {
   
   "name":"vkjz","age":88},
    {
   
   "name":"uixz","age":
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小邹子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值