ai有一些mongodb文件
horses是id,name,type
的数组{
"_id" : 33333333333,
"horses" : [
{
"id" : 72029,
"name" : "Awol",
"type" : "flat",
},
{
"id" : 822881,
"name" : "Give Us A Reason",
"type" : "flat",
},
{
"id" : 826474,
"name" : "Arabian Revolution",
"type" : "flat",
}
}
我需要添加新字段
我想到了这样的事情,但我没有想到他的头脑
horse = {
"place" : 1,
"body" : 11
}
Card.where({'_id' => 33333333333}).find_and_modify({'$set' => {'horses.' + index.to_s => horse}}, upsert:true)
但是所有现有字段都被删除并插入新的方法,这将是添加到现有
的新字段答案 0 :(得分:2)
实际上,此命令将覆盖子文档
'$set': {
'horses.0': {
"place" : 1,
"body" : 11
}
}
您需要设置单个字段:
'$set': {
'horses.0.place': 1,
'horses.0.body': 11
}