自动生成具有特定格式的字段

时间:2014-05-31 10:05:29

标签: node.js mongodb

我想自动生成用户记录号。添加新用户后,将为其分配用户记录号。用户记录编号遵循以下格式:“US-000000”。添加到帐户的第一个用户将是用户记录号US-000001。

怎么做?有没有办法在mongodb中基于SQL Server中的格式自动增量?

1 个答案:

答案 0 :(得分:2)

据我所知,MongoDB没有任何形式的自动增量,即使对于自动生成的_id字段也没有,因为这不适用于系统的集群非集中性质。

实现这一目标的唯一方法是尝试使用findAndModify等类似的atomar操作,并在应用程序中创建增量ID。

作为建议,请在集合中保留这样的字段:

{
    "_id": "incr",
    "n": 42
}

每当您添加新文档时,请立即通过findAndModify$inc阅读该值 - 这样您的计数器始终会正确递增,并且您可以获得正确的数字。