2012-05-26 46 views
0

好的我對MongoDB完全陌生,並開始閱讀MongoDB權威指南。我 7頁,它說:「集團相關類型文件的一起」在MongoDB中對相關文檔類型進行分組

我不明白這一點:(文檔是像

{"greetings" , "Hello World"} 

所以它們意味着什麼的那句話?請你給我一個更詳細的例子,所以我可以在我的頭像也感謝

回答

1

文檔其實更像是:{"greetings": "Hello World"}

在這種情況下,它的一個非常簡單的文件只包含一個關鍵的「問候」,a找到它的價值「Hello World」。有些語言可能會將其稱爲關聯數組,或散列或字典。這個描述的要點是MongoDB不關心結構是什麼。它的方案免費,並不要求您確保集合中的每個文檔具有完全相同的結構。但是出於效率和組織目的,您會傾向於將類似文檔存儲在單個集合中。因此,從純粹的設計角度來看,每個集合最終會產生非常相似的文檔。

MongoDB中的文檔或多或少像JSON結構(具體是bson)。它可以具有任意深度,並且可以在選定的對象級別上創建索引以便更快地進行搜索。

大多數情況下,只需將mongodb想象成一個花哨的對象存儲器,並使用代表您熟悉的任何語言的對象即可。特定於您的語言的驅動程序將處理您的原生對象類型和mongodb中的bson表示之間的橋樑。您創建對象並存儲它們。它並不像理解mysql那樣完全不同,但知道你不必定義表模式。只要開始存儲你想要的東西。

1

其實,文檔會更喜歡

{ 「問候語」: 「Hello World」 的}

意味着文檔包含了招呼(鍵)和問候是 「你好,世界」(值) 。 文檔可以是一組非常複雜的鍵值對,包括數組,嵌入文檔等值。

如果在同一個集合中包含一堆任意文檔,將很難找到它們後來。因此,建議將集合在有共同點的文件中。

一個可關聯的例子可能是擁有一個集合,其中每個文檔都代表系統的用戶。每個文檔中的字段將根據每個用戶的信息量而有所不同,但至少您可能有電子郵件地址,姓名等。然後,您可以查詢滿足某些條件的所有用戶。

另一個集合可能有公司。您可能有一組用戶或用戶標識作爲公司文檔中的一個字段來表示在公司中工作的每個用戶,或類似的東西。

我並不熟悉你提到的那本書,但是如果你繼續前進,它會開始變得更有意義。如果不是,我推薦閱讀here的一些頁面以獲取更多示例。

相關問題