需要使用insert()在一个空集合中添加多个子文档。 语法错误,请帮忙。
db.boeken.insert({
"_id":"A001",
"auteur":"Stieg Larsson",
"boek":["titel":"Mannen die vrouwen haten","jaartal":2005],["titel":"De vrouw die met vuur speelde","jaartal":2006]
})
返回:
[js] uncaught exception: SyntaxError: missing ] after element list :
@(shell):1:71
答案 0 :(得分:0)
问题是数组boek
的格式错误。
您可以在Mongo文档中使用3种数组:
1-值数组:
{
"_id": "some_id",
"some_numbers": [1, 2, 3, 4, 5],
"some_words": ["salt", "bird", "beer"]
}
2-数组数组:
{
"_id": "some_id",
"some_arrays": [
[1, 2, 3, 4, 5],
["salt", "bird", "beer"]
]
}
3-文档数组(您的情况):
{
"_id": "some_id",
"boek":[
{
"titel":"Mannen die vrouwen haten",
"jaartal":2005
},
{
"titel":"De vrouw die met vuur speelde",
"jaartal":2006
}
]
}
也就是说,如果要将key:value
用作数组boek
的元素,则意味着您有一个文档数组。您的代码存在的问题是,数组的每个元素都缺少{}
。
因此,在您的情况下,正确的代码应为:
db.boeken.insert({
"_id":"A001",
"auteur":"Stieg Larsson",
"boek":[
{
"titel":"Mannen die vrouwen haten",
"jaartal":2005
},
{
"titel":"De vrouw die met vuur speelde",
"jaartal":2006
}
]
})