簡體   English   中英

如何在mongo db的一個查詢中從兩個集合中獲取數據?

[英]How to fetch data from two collections in one query in mongo db?

假設我有兩個集合A和B。在我的C#程序中,我試圖從它們中獲取數據。 目前,我先從集合A中獲取數據,然后將文檔保存到容器中。 然后從集合B獲取數據。但是從理論上講,從A獲取數據之后再從B獲取數據之前,數據可能會更改。因此,我得到的結果不正確。 有沒有安全的方法?

Mongodb不支持事務。 由於mongodb被設計為可伸縮的(這意味着分片,復制),因此分布式事務可能非常昂貴,並且通常會使數據庫變慢。 因此,當您獲取/更新集合A並從B加載數據時,就不能阻止集合A進行寫操作。

mongodb中存在某種事務-它是單個文檔的原子更新 因此,您可以在不加載文檔的情況下更新文檔的一部分。

盡管Mongo不像SQL系統那樣顯式地支持鎖定表,但您可能想看看fsync函數。 如果我正確閱讀了文檔,則應該可以將其用作黑客工具,以暫時防止數據寫入。

http://www.mongodb.org/display/DOCS/fsync+Command

暫無
暫無

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

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