pymong 批量插入_链接mongodb 使用pymong

本文介绍了使用Python连接MongoDB数据库的两种方法:通过`mongoengine`和`pymongo`库。重点讨论了`pymongo`的使用,包括如何处理包含用户名和密码的连接字符串,以及URL编码的问题。在实际操作中,需要注意密码中的特殊字符如`@`需要转换为 `%40`。此外,还展示了如何进行数据库和集合的连接,并进行了查询操作的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链接mongodb数据库的两种方式

第一种 ,导入import mongoengine包,类似以django自带的,链接数据库的那套

第二种 import pymongo,类似pymsql生连,生写的方式   https://www.runoob.com/python3/python-mongodb.html

第一种研究一半没研究明白

第二种,可以

import pymongo

那怎么连接有用户名面的呢,直接上代码

def get_mongodbData(request):

mongodb_database = "bingli_avatar"

mongodb_table = "medicalrecords"

username="bingli"

password="haodf%40haodf.com"#明明密码是haodf@haodf.com 为啥转成这样了

host_port="10.1.20.249:20000"

mongodb_address="mongodb://"+username+":"+password+"@"+host_port+"/"+mongodb_database

#myclient = pymongo.MongoClient("mongodb://bingli:haodf%40haodf.com@10.1.20.249:20000/bingli_avatar") 其中的 @符号,是需要转化 的 %40 ,转化规则是URL-encode

#远程用户名密码的就是怎么拼接"mongodb://用户名:密码@host:port/数据库" 数据库有时候必填,否报错

myclient=pymongo.MongoClient(mongodb_address)

mongodb_database = myclient[mongodb_database] # 连库

mongodb_table = mongodb_database[mongodb_table] # 连集合

cooperationId = request.GET.get("cooperationId")

#注意一点,当使用request接收的时候,接收的这个cooperationId参数是 str类型,而mongodb搜索,也是要有类型区别的,比如,下面搜cooperationId就必须是int型所以的转化

for x in mongodb_table.find({'patientId':int(cooperationId)}):

z = json_util.dumps(x)

print(z)

return HttpResponse(z)

娄肖杰 8-27 10:01:04

搜url编码就好了

娄肖杰 8-27 10:01:49

咱们请求的链接和参数,有的时候如果用gbk,可能需要%形式的

张正来 8-27 10:01:49

哦,那就是这个 转码的规则

  多谢 

娄肖杰 8-27 10:01:59

utf-8 直接中文就行

mongdb链接,是需要这个身份验证的,比如我链接,bingli_avatar库,只是 我链接的10.1.20.33这个库,整个不需要权限而已

字段,下面的,  数据库名,用户名,密码

这两个明显不一样,有数据库和用户的

with  xxx  as  aaa:  读取数据的用法,

https://www.jianshu.com/p/1a02a5b63c88

门诊方法用到获取mongdb上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值