我想自动生成用户记录号。添加新用户后,将为其分配用户记录号。用户记录编号遵循以下格式:“US-000000”。添加到帐户的第一个用户将是用户记录号US-000001。
怎么做?有没有办法在mongodb中基于SQL Server中的格式自动增量?
答案 0 :(得分:2)
据我所知,MongoDB没有任何形式的自动增量,即使对于自动生成的_id
字段也没有,因为这不适用于系统的集群非集中性质。
实现这一目标的唯一方法是尝试使用findAndModify
等类似的atomar操作,并在应用程序中创建增量ID。
作为建议,请在集合中保留这样的字段:
{
"_id": "incr",
"n": 42
}
每当您添加新文档时,请立即通过findAndModify
和$inc
阅读该值 - 这样您的计数器始终会正确递增,并且您可以获得正确的数字。