MongoDB的文檔或者子文檔如果是Array,那麽在并發insert的時候,由於沒有關係數據庫的主鍵約束,就會有duplicate的情況出現。
對於array子文檔這種情況下可以不用insert和push,令所有文檔的更新都是update的,而且update的條件加上timestamp來判斷。
原子性的update才能保證數據拿到最新的那條。
對於文檔,不存在則用insert語句,某一條出錯的時候apply重試機制。