链接mongodb 使用pymong
链接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上