MongoEngine:数据库名称不能包含字符'。'

时间:2018-01-02 10:54:59

标签: python mongodb pymongo mlab

我试图在我的python脚本中使用mongoengine插入文档,但它引发了这个异常

(<class 'pymongo.errors.InvalidName'>, InvalidName("database names cannot contain the character '.'",), <traceback object at 0x000000000844F708>)

连接字符串是mongodb:// user:pass@ds042487-a0.mlab.com:42487 / db-name

有关如何解决这个问题的任何建议吗?

由于

2 个答案:

答案 0 :(得分:2)

您的数据库名称不应为contain any of these characters: ' ', '.', '$', '/', '\\', '\x00', '"'

检查您的数据库名称。 Mongo驱动程序也强制执行此规则,因此您的名称中包含点的数据库的可能性很小。

答案 1 :(得分:2)

而不是使用

connect("mongodb://user:pass@ds042461-a0.mlab.com:42461/db-name")

使用此

connect( db='db-name', username='user', password='pass', host='mongodb://user:pass@ds042461-a0.mlab.com:42461/db-name')

它对我有用。 :)