2017-06-06 83 views
-1

我是mongodb的新手,我試圖創建我的第一個數據庫。MongoDB定義具有數組作爲文檔的集合

這是我的場景:用戶可以連接到FTP Location並獲取/放置一些文件。每個用戶可以有多個他可以訪問的FTP存儲。

這些是user文檔所需的字段:

username: String 
password: String 

而這些都爲ftp文檔所需的字段:

host: String 
port: Number 
user: String 
pass: String 

這裏來我的問題...我能有包含上述兩個文件的單個collection

更確切地說,我需要知道我怎麼能得到這樣怎麼我的數據庫應該看看記錄......

{ 
    "username": "User", 
    "password": "test", 
    [ 
     { 
     "host": "first-host", 
     "port": 21, 
     "user": "defined-user", 
     "pass": "defined-pass" 
     }, 
     { 
     "host": "second-host", 
     "port": 21, 
     "user": "defined-user", 
     "pass": "defined-pass" 
     } 
    ] 
} 

不知道如果我的問題是不夠清楚,但請讓我知道如果我需要指定其他信息來獲得一些答案

+0

請從這裏開始不停的按「下一步」,直到你實際上閱讀到最後並理解它:[查詢文檔](https://docs.mongodb.com/manual/tutorial/query-documents/) –

+0

我閱讀它並查詢文檔非常簡單,但我需要知道如何定義一個接受具有如下所示的數組字段的文檔的集合我的例子.. – Valip

+0

*「8分鐘!請教我如何閱讀和學習像你一樣。我希望你從現在開始回答每個人的問題。這真是太棒了!「*現在我們回到了現實中,請你自己真正的寵愛一下,花一些時間學習和測試這些例子 –

回答

0

蒙戈使用JSON格式,所以你可以有這樣的事情:

"username": "User", 
    "password": "test", 
    "storage": [ 
    { 
     "host": "first-host", 
     "port": 21, 
     "user": "defined-user", 
     "pass": "defined-pass" 
    }, 
    { 
     "host": "second-host", 
     "port": 21, 
     "user": "defined-user", 
     "pass": "defined-pass" 
    } 
    ] 

你瑪應該這樣定義:

username: String 
password: String 
storage : Array 
+0

好!這就是我想知道的 – Valip

0

BSON文檔基本上是JSON/JS對象(帶有一些其他類型)。所以,你的mongodb文件必須是是一個有效的json/js對象。你的問題所需的文檔形狀是無效的js對象,因此在MongoDB中是不可能的。

+0

我編輯了我的問題,現在文檔形狀是一個有效的js對象 – Valip

+0

@Valip:no,它不是。閱讀什麼JS對象(可以) –

+0

再次編輯:) – Valip

相關問題