weiboSpider icon indicating copy to clipboard operation
weiboSpider copied to clipboard

MongoDB设置文档问题

Open jerrylaikr opened this issue 3 years ago • 3 comments
trafficstars

现有的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,感觉有一些反直觉。如果这部分代码是有其他我不了解的作用,请多多指教。 除此之外,建议在设置文档中加入更多设置数据库的说明。

jerrylaikr avatar Jul 28 '22 18:07 jerrylaikr

感谢反馈。 这个功能是我之前写的,好像mongo是网友提的需求,当时实践时没有错误,也没有考虑特别详细的配置,只要基本的配置。最近我不方便调试,不知道是软件版本问题,还是程序的bug。如果您有好的建议,可以通过pull request的方式提交代码,如果通过,您可以成为本项目的contributor,还可以帮到有类似疑惑的网友,这不是强制的。如果您有此打算,尽量以少改源码为主,因为改动太大可能导致之前使用者更新版本后不兼容。或者仅改readme.md,添加数据库更详细的介绍也行。再次强调这不是强制的,只是看您不仅提出了问题,而且有比较完整的解法。再次感谢您对本项目的支持。

dataabc avatar Jul 29 '22 14:07 dataabc

已提交pull request。 p.s. 我没多少PR的经验,如果提交的PR有什么问题烦请多多指教。

jerrylaikr avatar Jul 29 '22 17:07 jerrylaikr

已merge,已经很好了,非常有帮助,感谢。

dataabc avatar Jul 30 '22 15:07 dataabc