2012-04-03 34 views
0

我正在使用MongoDB和Morphia Object-2-Document映射庫。我的印象是Morphia使用「日誌」模式,因此使用事務來存儲/檢索數據 - 這意味着可靠性不應該成爲問題。MongoDB能否在數據庫中搞亂數據

我以前從未遇到過任何問題,但只有一個字段(對於所有文檔)具有這種無意義的值•••••。當我查看數據庫時,它看起來是空的。

這是Mongo對我的數據可能做的事情,還是我需要在別處尋找問題。

+0

如果它有一個主要的bug,它會被修復(或者至少是衆所周知的)。可能是你搞亂了數據,而不是MongoDB。我不會想象它會在存儲數據後對數據進行任何類型的轉換。 – Corbin 2012-04-03 06:23:14

+0

@Corbin :)好點。我放心了。 – Ankur 2012-04-03 06:24:32

+1

我應該指出,儘管我對MongoDB的體驗包含大約30分鐘的「ooo這個很漂亮」的風格。據我所知,它可能實際上轉換數據。但是,正如Boosty所說,數據庫旨在存儲數據,而不是破壞數據。 (不完全是他說的,但一般的要訣:)) – Corbin 2012-04-03 06:25:40

回答

2

數據庫用於存儲數據,而不是在插入時改變它們。所以這很可能不是mongoDB。

數據庫中的無意義值通常與字符編碼有關。檢查你的編碼是否與你的應用程序和mongoDB數據庫相同。

+0

謝謝Boosty。然而,Mongo有可能「移動數據」,並且在事情發生時「事情可能會出錯」。我知道這是一個模糊的問題,如果無法回答,請不要擔心。無論如何,我真的希望它不是MongoDB,它運作得非常好。 – Ankur 2012-04-03 06:20:02

+1

有些東西總是會出錯,當然,但是mongoDB已經是一個相當成熟的產品,並且已經得到了廣泛的測試。像內部移動數據那樣相對簡單的東西可能工作正常。 (我說的可能很多,因爲我不知道mongoDB的開發情況) – 2012-04-03 06:26:46

2

我是嗎啡使用「中國」模式,因此使用事務存儲的印象/檢索數據 - 這意味着可靠性不應該是一個問題

「雜誌」模式將參考Morphia修改MongoDB並等待MongoDB在返回之前將該數據寫入日誌。

MongoDB對單個文檔執行原子更新。但是,它不支持交易。因此,如果您保存一個Morphia對象,其中有三個不同的集合,則不會在這裏進行「啓動事務」或「回滾」。

我從來沒有過任何問題,但一個字段(所有文件)有這麼多廢話值...

這通常涉及二進制數據或不正確編碼字符串(取決於你所看到的非感測數據)。 MongoDB中的錯誤數據會引發異常,所以MongoDB顯然認爲它有正確的數據。

+0

感謝您的支持。 「MongoDB中的錯誤數據會引發異常,所以MongoDB明確地相信它有正確的數據。」這將有助於記住。 – Ankur 2012-04-10 01:22:06