Json 如何在python中生成序列号?

Json 如何在python中生成序列号?,json,mongodb,python-2.7,Json,Mongodb,Python 2.7,我基本上是在尝试为我的JSON记录创建唯一的序列号作为ID,然后它就会转到MongoDB 我在一个集合中有数百条记录,应该有“ALERT-0000000000 1”等ID 我希望这是递增的,并且应该在多个执行之间同步。我是python的初学者 因此,请指导我或解释方法。提前感谢。序列的问题是需要存储其状态(“上次生成的数字是多少”) 好消息是,你可以将它们储存在mongo db.sequences.find() > { "_id": "alerts", "last_value": 234

我基本上是在尝试为我的JSON记录创建唯一的序列号作为ID,然后它就会转到MongoDB

我在一个集合中有数百条记录,应该有“ALERT-0000000000 1”等ID

我希望这是递增的,并且应该在多个执行之间同步。我是python的初学者


因此,请指导我或解释方法。提前感谢。

序列的问题是需要存储其状态(“上次生成的数字是多少”)

好消息是,你可以将它们储存在mongo

db.sequences.find()
> { "_id": "alerts", "last_value": 234 }
然后,您可以使用生成一个新值,并在相同的操作中返回它(无竞争条件,安全可靠)


这种方法的一个缺点是,为了满足这一业务逻辑,您对数据库施加了更多的负载。根据您的流量,与使用内置对象ID相比,您可能需要更强大的硬件。

为什么不使用标准对象ID?它们是唯一的,不需要任何外部状态或同步(这意味着更可靠的唯一性)。@SergioTulentsev可以详细说明如何使用它。如果你说的是mongodb对象id,我知道。我不想在我的情况下这样。还有其他建议吗?你完全明白我的意思。它必须存储其状态。是否有可能检索状态。我不想在我的数据库中加载更多的ID请求。并且所有员工都可以访问。你希望它持续存在。所以它必须是一个数据库(不必是同一个数据库。Redis是一个很好的替代方案),所以最后我说服自己不要把它放在DB中。相反,我将其存储在一个简单的JSON文档中。每次执行时都从JSON文件中读取状态并在最后更新,这是一种糟糕的做法吗?@KavithaMadhavaraj:糟糕透了。不仅在一台机器上容易出现竞争条件(如果您有任何并发),而且在其他机器上也不可用。