数组操作工作正常:
db.document.insert({'_id':99999})
db.document.update({'_id':99999},{$push:{'student':{'name':'Jack','marks':90}}})
db.document.update({'_id':99999},{$push:{'student':{'name':'Jill','marks':75}}})
现在
db.document.findOne({_id: 99999})
会给你
{
"_id" : 99999,
"student" : [
{
"name" : "Jack",
"marks" : 90
},
{
"name" : "Jill",
"marks" : 75
}
]
}
错误$push
表示您的文档中已经有该字段并且它不是数组。
例如,下面的代码会给你一个错误$push
db.document.insert({'_id':99998,'student':{'name':'Jack','marks':90}})
db.document.update({'_id':99998},{$push:{'student':{'name':'Jill','marks':75}}})
下面的代码不会
db.document.insert({'_id':99997,'student':[{'name':'Jack','marks':90}]})
db.document.update({'_id':99997},{$push:{'student':{'name':'Jill','marks':75}}})