Mongodb与嵌套数组

时间:2014-06-30 20:18:10

标签: arrays mongodb

我在网上查看并没有找到我想要的东西。

我想知道是否可以在另一个像

中插入一个数组

我想说我想这样做:

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

1 个答案:

答案 0 :(得分: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/