2016-08-01 72 views
1

我需要使用'全部或全部'過程寫入兩個不同的mongodb集合。 Fyi我在後端使用NodeJs。交易mongodb

據我所知,MongoDb在涉及單個集合時提供了原子性,但當我們需要將其寫入多個集合時,MongoDb並不提供原子性。

所以我想知道一種模擬這種交易的方式,在nodejs/mongodb爲了避免寫入一個集合,如果其他失敗,也可以做'回滾'的可能性,如果第二個過程失敗。

謝謝你們!

回答

0

在MongoDB中,您無法完全實現數據庫級別的事務。但是,有一些提供某些交易功能的機制。你可以在​​中閱讀。

+0

謝謝@JustLogin。事實是,我已經閱讀了所有這些文檔,但我想知道是否有另一種方法來模擬它。再次感謝。 – Mochics

+0

@Mochics如果你需要大量的交易,你必須使用另一個數據庫。據我所知,沒有NoSQL DB提供完整的事務支持。 – JustLogin

+0

我只需要在整個平臺的單個操作中進行一次事務處理,而且我無法更改數據庫,因此我擔心我會阻止它。我會嘗試模擬MongoDb提出的兩階段提交,但我不確定它是否真的有效...... – Mochics