【发布时间】:2019-08-25 03:08:09
【问题描述】:
我有以下代码:
client = MongoClient(uri)
db = client['my_db']
print(db.collection_names())
#print(db.list_collection_names())
我得到了错误
文件“C:\Users\gwerner004\eclipse-workspace\MongoTestRasa\FirstTest.py”,第 17 行,连接中 打印(db.collection_names()) 文件“C:\Users\gwerner004\AppData\Local\Programs\Python\Python36\lib\site-packages\pymongo\database.py”,第 715 行,在 collection_names nameOnly=True, **kws)] 文件“C:\Users\gwerner004\AppData\Local\Programs\Python\Python36\lib\site-packages\pymongo\database.py”,第 677 行,在 list_collections **kwargs) _list_collections 中的文件“C:\Users\gwerner004\AppData\Local\Programs\Python\Python36\lib\site-packages\pymongo\database.py”,第 651 行 cursor = self._command(sock_info, cmd, slave_okay)["cursor"] _command 中的文件“C:\Users\gwerner004\AppData\Local\Programs\Python\Python36\lib\site-packages\pymongo\database.py”,第 514 行 客户=自我.__客户) 文件“C:\Users\gwerner004\AppData\Local\Programs\Python\Python36\lib\site-packages\pymongo\pool.py”,第 579 行,在命令中 未确认=未确认) 文件“C:\Users\gwerner004\AppData\Local\Programs\Python\Python36\lib\site-packages\pymongo\network.py”,第 150 行,在命令中 parse_write_concern_error=parse_write_concern_error) _check_command_response 中的文件“C:\Users\gwerner004\AppData\Local\Programs\Python\Python36\lib\site-packages\pymongo\helpers.py”,第 155 行 raise OperationFailure(msg % errmsg, code, response) pymongo.errors.OperationFailure:不支持的投影选项:$substr
为什么这样的基本操作会失败?我在 Windows 10 上运行并使用 Python 3.6.7。我的 PyMongo 是 3.7.2
【问题讨论】:
-
list_collections也有同样的问题,但我使用的是 CosmoDB 实例 -
我发现
client['my-collection'].list_collection_names('%d')会给出另一个错误提示:AttributeError: 'str' object has no attribute '_txn_read_preference'