mongodb错误:ConfigurationError:端口号必须是整数
我刚接触mongodb,正在使用mongolab创建一个免费的数据库。我的数据库名字叫enron,里面有一个集合叫mbox。我的系统里有一个json文件。我想用python把这个json文件导入到集合里。我的数据库连接成功了,但在导入json文件时出现了错误。请给我一个合适的解决办法。
import os
import sys
import envoy
from bson import json_util # Comes with pymongo
from pymongo import MongoClient
client = pymongo.MongoClient('mongodb://user:user123@ds033499.mongolab.com:33499/enron')
r = pymongo.MongoClient('mongoimport --host mongolab.com --port 033499 --username pramod_jadhav --password p9822581103 --collection mbox --db enron --file C:\Users\sachin\Documents\IPython \ch06-mailboxes\data\enron.mbox.json')
print 'json import sucessfully'
1 个回答
2
在这里,我们需要处理网址,这样它就能正确处理一些特殊字符(比如@)。为此,我们需要导入一个叫做urllib的库,然后使用这个方法 urllib.parse.quote([mongo _lab_url])
。
在你的情况下,
import urllib
db_url = urllib.parse.quote('mongodb://user:user123@ds033499.mongolab.com:33499/enron')
client = MongoClient(db_url)
应该可以正常工作!!!