簡體   English   中英

如何使用Java代碼在mongodb中自動增加字段?

[英]how can I auto increment a field in mongodb using java code?

我有一個帶有“ commentId”字段的注釋表。 我在此字段上創建了一個索引。 我沒有得到如何插入新文檔的信息,並且在為每個新文檔插入時,commentId字段應自動遞增。 有什么辦法可以實現呢?

MongoDB自動為插入其中的每個對象創建一個ID。 您無需創建自己的ID。

如果確實需要遞增的整數id,那么您會遇到各種各樣的分布式同步問題-實際上,很難解決不重要的情況。

要生成唯一的ID,我可以想到的最簡單的方法是:

  • 將索引放在具有唯一約束的id列上。
  • 要在索引上插入編號最高的文檔查詢,請加1,並將其用作ID。
  • 如果由於重復的索引重試而導致插入失敗

它涉及一些往返,但是應該健壯並且索引很快就可以實現。

如果只有一個位置寫這些位置,則可以在本地將AtomicInteger中的ID兌現,並且如果檢測到碰撞,則僅執行完整的往返過程,然后更新AtomicInteger。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM