如何使用Mongo ObjectId作为我的数据库中的唯一ID

时间:2013-12-30 22:20:45

标签: python mongodb pymongo

我有一个带有原始网页报废数据的大型Mongo数据库。我有一个进程,它读取mongo文档并在我的MySQL报告数据库中创建记录。我需要跟踪我在MongoDB中处理的文档。我试图使用ObjectID但似乎无法将其转换为字符串。我使用Pymongo作为我的客户。

 for i in Coll.find({"ISBN": {"$exists" : True}})[20:50]:
        print('starting collection loop')
        #Check if doc has been processed
        if not ProcessingLog.objects.filter(mongoID = i['_id']).exists():
            mongoID = ProcessingLog(mongoID = i['_id'],source = 'amazon',createDate= datetime.datetime.now())

      ....

我收到以下错误

ValueError:要解压缩的值太多

1 个答案:

答案 0 :(得分:0)

pymongo包含使用ObjectId()作为其他类型的方法。

您可以在docs here中看到它们的内容。你可以用str(o)来做。