2014-06-30 146 views
0

我看着在網絡上並沒有找到我想要的東西。MongoDB的嵌套陣列

我想知道是否有可能裏面插入另外一個像

數組比方說,我想這樣做:

db.siteraiz.insert(  
    SiteRaiz:[ 
     [{Dados:'idSiteRaiz:#ChartSet', 
     [{Metas:'metaValor'}], 
     [{Robots:'link1:#linkN'}] 
     }] 
) 
+0

蒙戈是一個「文件」基於數據庫...這意味着它基本上只是需要JSON對象作爲輸入數據...所以是的......你絕對可以嵌套數據與JSON對象。 – ewizard

+0

示例JSON對象與數組:'VAR對象= { 「陣列」:yourarray, 「數組2」:yourarray2}' – ewizard

+0

http://json.org/example - 這裏是一個更好的例子。 – ewizard

回答

1

是的,它可以插入一個陣列到另一個,但你不能在沒有密鑰的對象中使用數組。此語法是無效的:

{ 
    Dados: 'idSiteRaiz:#ChartSet', 
    [ 
    {Metas:'metaValor'} 
    ], 
    [ 
    {Robots:'link1:#linkN'} 
    ] 
} 

只能使用帶有鍵值對的對象:

{ 
    key1: 'value1', 
    key2: 'value2' 
} 

你可以有內部對象數組,但你仍然需要使用密鑰數組:

{ 
    key1: 'value1', 
    key2: ['value2', 'value3'] 
} 

我完全不知道要如何組織你的數據,但這裏有一些工作的例子:

db.siteraiz.insert({ 
    SiteRaiz:[ 
    { 
     Dados: 'idSiteRaiz:#ChartSet' 
    } 
    ] 
}) 
db.siteraiz.insert({ 
    SiteRaiz:[ 
    [ 
     {Metas:'metaValor'} 
    ], 
    [ 
     {Robots:'link1:#linkN'} 
    ] 
    ] 
}) 

確保您試圖插入一個有效的JSON對象。您可以驗證您的JSON對象,比如這裏:http://jsonlint.com/

+0

我明白了,所以我必須用這種方式,我想過陣列,但是不知道如果我可以做我想做的,感謝的人的方式,我希望我能投票支持你的答案。 – Reno

+0

@ user3529913編輯我的答案,使之更加明確的問題是你的榜樣是什麼。 –

+0

所以,這將會是這樣 db.siteraiz.insert( \t \t SiteRaiz: \t \t Dados: 'idSiteRaiz:#ChartSet',\t \t \t \t [{METAS: 'metaValor'}] ,\t \t \t \t [{機器人: 'LINK1:#linkN'} \t \t] \t] }) 我希望把元和機器人內部siterais,但你做了什麼(最後一個)這就是我想要的,真的感謝的人。 – Reno