我需要帮助解决以下错误:“CursorNotFound”

问题描述 投票:0回答:1

以下是在 Stack Overflow 上寻求帮助的较短消息:


大家好

我需要以下功能的帮助:

def add_collection_content_vector_field(collection_name: str):
    '''
    Add a new field to the collection to hold the vectorized content of each document.
    '''
    collection = db[collection_name]
    bulk_operations = []
    for doc in collection.find():
        if "contentVector" in doc:
            del doc["contentVector"]

        content = json.dumps(doc, default=str)
        content_vector = generate_embeddings(content)

        bulk_operations.append(pymongo.UpdateOne(
            {"_id": doc["_id"]},
            {"$set": {"contentVector": content_vector}},
            upsert=True
        ))
    collection.bulk_write(bulk_operations)

当我运行

add_collection_content_vector_field("sales")
时,出现以下错误:

CursorNotFound: cursor id <> not found, full error: {'ok': 0.0, 'errmsg': 'cursor id <> not found', 'code': 43, 'codeName': 'CursorNotFound', '$clusterTime': {'clusterTime': Timestamp(1715923790, 2), 'signature': {'hash': b'\xca\x8f9\xf0f!'\xdb\xf5r\xbb\xe0\xf4to\xcc1\x93\x8e', 'keyId': 7313113004709511172}}, 'operationTime': Timestamp(1715923790, 2)}

关于如何解决这个问题有什么想法吗?

谢谢!

我尝试运行函数

add_collection_content_vector_field("sales")
向“销售”集合中的每个文档添加一个新字段。我希望该函数能够迭代所有文档,生成嵌入,并使用新的
contentVector
字段更新每个文档。

但是,在处理一些文档后,我遇到了以下错误:

CursorNotFound: cursor id <> not found, full error: {'ok': 0.0, 'errmsg': 'cursor id <> not found', 'code': 43, 'codeName': 'CursorNotFound', '$clusterTime': {'clusterTime': Timestamp(1715923790, 2), 'signature': {'hash': b'\xca\x8f9\xf0f!'\xdb\xf5r\xbb\xe0\xf4to\xcc1\x93\x8e', 'keyId': 7313113004709511172}}, 'operationTime': Timestamp(1715923790, 2)}

此错误发生在过程中途,导致功能无法完成。

python mongodb timeout cursor pymongo
1个回答
0
投票

您好,您能解决这个问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.