2014-01-24 83 views
0

在MongoDB中,一個集合中的一個項目被稱爲文檔。簡而言之,文檔集合什麼是記錄是關係數據庫中的。現在我已經多次閱讀子文檔MongoDB中的子文檔是否與子對象相同?

究竟是什麼?

它只是文檔的一個子對象嗎?例如,如果我有文檔:

{ 
    foo: 'xyz', 
    bar: { 
    baz: 'bla' 
    } 
} 

bar然後外文檔的子文檔,還是有更多的子文檔?它有什麼特點?

我在MongoDB的文檔中找不到這個術語的解釋,但也許它在那裏,我沒有找到它。

有人可以向我解釋這個(或提供一個提示,我可以查看它)?

回答

1

這只是不同的術語。是的,子對象與子文檔相同。例如,當您使用對象文檔映射器(ODM)時,它可能會使用術語「文檔」和「嵌入文檔」(或「子文檔」)。因爲你使用某種編程語言(例如ruby)來處理這樣的庫,所以需要將MongoDB文檔與普通的Ruby對象區分開來。否則有關該計劃的談話將會模糊不清。另一方面,當你從javascript shell直接查詢數據庫時,它只是你的對象(可以包含其他對象)。

這就是我的理解。

1

是的,bar是一個子文件。在mongodb文檔中,他們使用json類型的Object文檔調用字段。如果它嵌入在另一個文檔中,比如你的示例中的bar,那麼這就是他們所稱的子文檔。