在python中连接到Mongo数据库

时间:2017-09-15 17:22:28

标签: python scrapy pymongo

我必须做一个爬虫(我选择python)来填充Symfony项目中创建的数据库(使用doctrine)。 抓取工具已完成,但当我尝试填充数据库时,它无法正常工作......

所以我在我的db(mtdbdd)中创建了一个新的表测试,只有一个自动增量ID和一个标题。我尝试填写这段代码:

from pymongo import MongoClient

MONGO_URI = 'mongodb://root:root@127.0.0.1:8889'

client = MongoClient(connect=False)
client = MongoClient(MONGO_URI)
db = client.mtdbdd
coll = db.test

try:
    result = coll.insert_one({"title": "test"})
except coll.errors.OperationFailure as e:
    print e.code
    print e.details

但我有错误:

pymongo.errors.ServerSelectionTimeoutError: Got opcode 3945 but expected 1

有人可以帮助我吗?谢谢你们!

1 个答案:

答案 0 :(得分:0)

连接字符串的格式应为:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

https://docs.mongodb.com/manual/reference/connection-string/

所以在你的情况下:

mongodb://root:root@127.0.0.1:8889/<dbname>

摆脱

client = MongoClient(connect=False)

因为无论如何都要覆盖下一行的客户端。