python连接Mongo数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python连接Mongo数据库相关的知识,希望对你有一定的参考价值。
python连接Mongo数据库主要采用pymongo连接,一般情况分为两种连接方式,一种通过指定端口和地址直接连接,另一种通过uri的格式连接
1.通过指定端口和地址连接Mongo
conn = MongoClient("47.93.194.180", 27017) db = conn.coder #连接到coder数据库 table = db.users #连接到users集合 print(table.count()) #统计集合中的数据
2.通过URI连接
from pymongo import MongoClient mango_uri = ‘mongodb://%s:%s‘ % ("47.93.194.180", 27017) conn = MongoClient(mango_uri) # 创建链接 db = conn.coder # 连接coder数据库 table = db.users # 选择users集合 print(table.count()) # 统计集合数据行数
注意:
目前的连接模式属于Mongo数据库没有设置密码,一般Mongo均会设置密码,因为不设置密码容易被黑,如果设置密码时,通过uri连接需要对密码进行编码,如果不进行编码会提示“pymongo.errors.InvalidURI: ‘:‘ or ‘@‘ characters in a username or password must be escaped according to RFC 2396”;
Mongo 密码是针对数据库而言,所以设置密码后我们需要连接数据库直接认证连接方式如下
from urllib import parse from pymongo import MongoClient passwd = "[email protected]" passwd = parse.quote(passwd) # 对密码先进行编码 mango_uri = ‘mongodb://%s:%[email protected]%s:%s/%s‘ % ("sa", passwd, "47.93.194.180", "27030", "mapdb") # 链接时需要指定数据库 conn = MongoClient(mango_uri) # 创建链接 db = conn.mapdb # 连接coder数据库 table = db.bike # 选择users集合 print(table.count()) # 统计集合数据行数
pymongo 连接数据库和连接集合也存在两种方法
1.连接数据库和集合,通过"."直接引用数据库和集合
db = conn.mapdb # 连接coder数据库 table = db.bike # 选择users集合
2.连接数据库和集合通过"[name]"引用数据库和集合
db = conn["mapdb"] # 连接coder数据库 table = db["bike"] # 选择users集合
注意:
第一种连接方式无法将数据库和集合的名字设置为变量,但是后者可以设置;
以上是关于python连接Mongo数据库的主要内容,如果未能解决你的问题,请参考以下文章