2015-05-14 123 views
2

我對mongo3.0用spring數據我對插入異步讀取有個問題:「mongodb插入是異步Mongo DB有異步插入/更新/刪除操作,這意味着當你發出插入操作時在數據庫沒有回覆插入操作的狀態的情況下,它是一個失敗和遺忘操作。「Mongodb異步插入

這是否意味着記錄被緩存,mongo決定何時插入(物理寫入磁盤)或記錄是否立即插入,但插入時沒有確認。

參考: - 「https://mongodb.github.io/node-mongodb-native/api-articles/nodekoarticle1.html

回答

0

MongoDB中有一個名爲擔憂確認選項。基於用戶的用例,您可以使用其中的一個。有關完整信息,請參閱link

1

這是否意味着記錄被緩存和蒙戈決定何時 插入(物理寫入到磁盤)或記錄插入即時 但在插入沒有確認。

不涉及緩存。記錄插入命令被髮送,並且沒有返回值來知道狀態。這是一場火災,忘記了:發送命令,就是這樣。

  • 優點是應用程序更快,因爲它不會等待確認。
  • 缺點是,無論插入是否成功,您都無法獲得反饋。

但是,正如在另一個答案中提到的,您可以使用write concern選項。有不同的級別,你可以設置:

  • 未確認(你的問題是指的這個)
  • 已確認
  • 日誌式
  • 副本已確認

您可以在讀到它MongoDB documentation