weiboSpider
weiboSpider copied to clipboard
MongoDB设置文档问题
现有的MongoDB设置文档描述感觉不是很清楚,尤其是"dba_name"和"dba_password"。 当MongoDB只有一个用户时,如果仿照config_sample.json中的格式填入:
"mongo_config": {
"connection_string": "mongodb://admin:password@localhost:27017/weibo",
"dba_name": "admin",
"dba_password": "password"
}
会产生如下报错:
pymongo.errors.OperationFailure: Another user is already authenticated to this database. You must logout first.
将"dba_name"和"dba_password"改为空字符串也会产生同样报错。改为null或移除"dba_name"和"dba_password"均不可行。我自己找到的解决方法是去除uri中的username和password部分,或者在设置文件中将"dba_name"和"dba_password"改为空格" "。
我发现源码中有使用isspace()进行检测并跳过authenticate,但是这种情况下使用空字符串并不会跳过authenticate,感觉有一些反直觉。如果这部分代码是有其他我不了解的作用,请多多指教。
除此之外,建议在设置文档中加入更多设置数据库的说明。
感谢反馈。 这个功能是我之前写的,好像mongo是网友提的需求,当时实践时没有错误,也没有考虑特别详细的配置,只要基本的配置。最近我不方便调试,不知道是软件版本问题,还是程序的bug。如果您有好的建议,可以通过pull request的方式提交代码,如果通过,您可以成为本项目的contributor,还可以帮到有类似疑惑的网友,这不是强制的。如果您有此打算,尽量以少改源码为主,因为改动太大可能导致之前使用者更新版本后不兼容。或者仅改readme.md,添加数据库更详细的介绍也行。再次强调这不是强制的,只是看您不仅提出了问题,而且有比较完整的解法。再次感谢您对本项目的支持。
已提交pull request。 p.s. 我没多少PR的经验,如果提交的PR有什么问题烦请多多指教。
已merge,已经很好了,非常有帮助,感谢。