如何使用java代码自动增加mongodb中的字段?

时间:2013-12-12 10:18:23

标签: java mongodb

我有一个带有“commentId”字段的评论表。我在这个领域创建了一个索引。 我没有得到如何插入新文档,并且在插入每个新文档时,commentId字段应自动递增。有什么办法可以实现吗?

1 个答案:

答案 0 :(得分:0)

MongoDB会自动为插入其中的每个对象创建一个id。您无需创建自己的ID。

如果你确实需要一个递增的整数id,那么你会遇到各种各样的分布式同步问题 - 实际上很难适应非平凡的情况。

以我能想到的最简单的方式生成唯一ID:

  • 使用唯一约束在id列上添加索引。
  • 在索引上插入最高编号的文档查询,添加1,将其用作id。
  • 如果由于重复索引重试而导致插入失败

它涉及几次往返,但应该是健壮的,并且索引非常快。

如果您只有一个位置写这些,您可以在本地使用AtomicInteger兑换ID,只有在检测到碰撞时才进行完整的往返过程,然后更新AtomicInteger。