出现的问题
使用用户名密码连接MongoDB的时候,报错:pymongo.errors.InvalidURI: Username and password must be escaped according to RFC 3986, use urllib.parse.quote_plus().
出现问题的原因
网上查的原因是:如果连接MongoDB的时候设置用户名和密码,则必须根据RFC 3986转义用户名和密码,使用urllib.parse.quote_plus()。
解决方法
import pymongo
from urllib import parse
# 转义用户名和密码
user = parse.quote_plus("username")
passwd = parse.quote_plus("password")
# 连接MongoDB
myclient = pymongo.MongoClient("mongodb://{0}:{1}@url:port/mapdb".format(user,passwd))
网友评论