相关疑难解决方法(0)

PyMongo事务错误:仅在副本集成员或mongos上允许事务编号

当我使用pymongo 3.7事务功能连接到mongo服务器4.0时,出现此错误"只允许在副本集成员或mongos上使用交易号",我找不到任何解决此问题的答案.我的代码是:

from pymongo import MongoClient
conn = MongoClient(host, port)
tb = conn.collector_gateway.try_table
with conn.start_session() as session:
    with session.start_transaction():
        tb.insert_one({"sku": "abc123", "qty": 100}, session=session)
Run Code Online (Sandbox Code Playgroud)

错误是:

Traceback (most recent call last):
  File "/Users/yuzgu/PycharmProjects/seller_loss_alert/try_mongo.py", line 22, in <module>
    tb.insert_one({"sku": "abc123", "qty": 100}, session=session)
  File "/Users/yuzgu/anaconda3/lib/python3.6/site-packages/pymongo/collection.py", line 693, in insert_one
    session=session),
  File "/Users/yuzgu/anaconda3/lib/python3.6/site-packages/pymongo/collection.py", line 607, in _insert
    bypass_doc_val, session)
  File "/Users/yuzgu/anaconda3/lib/python3.6/site-packages/pymongo/collection.py", line 595, in _insert_one
    acknowledged, _insert_command, session)
  File "/Users/yuzgu/anaconda3/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1243, in _retryable_write
    return self._retry_with_session(retryable, func, s, None)
  File "/Users/yuzgu/anaconda3/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1196, …
Run Code Online (Sandbox Code Playgroud)

transactions mongodb pymongo

9
推荐指数
1
解决办法
5238
查看次数

标签 统计

mongodb ×1

pymongo ×1

transactions ×1