我有以下文件。其中有多个字段驻留在数组中的数组中。而且我终生无法更新数组中的字段。
{
"_id" : ObjectId("5d0bb43c6e6106b614462259"),
"row_number" : NumberInt(9),
"kenteken" : "0001WZ",
"afstand_hart_koppeling_tot_achterzijde_voertuig" : NumberInt(559),
"datum" : {
"eerste_afgifte_nederland" : ISODate("1980-01-07T00:00:00.000+0000"),
"eerste_toelating" : "1980-01-07",
"tenaamstelling" : "2007-07-19"
},
"maten" : {
"breedte" : NumberInt(192)
},
"kleur" : {
"eerste" : "N.v.t.",
"tweede" : "N.v.t."
},
"europees" : {
"voertuigcategorie" : "O2"
},
"export_indicator" : "Nee",
"handelsbenaming" : "A8 KRG",
"inrichting" : "voor vervoer boten",
"laadvermogen" : NumberInt(720),
"massa" : {
"ledig_voertuig" : NumberInt(280),
"maximum" : {
"voertuig" : {
"technisch" : NumberInt(1000),
"toegestaan" : NumberInt(1000)
}
}
},
"merk" : "PEKAWEE",
"openstaande_terugroepactie_indicator" : "Nee",
"plaats_chassisnummer" : "op centrale balk 160 cm v. achteras",
"taxi_indicator" : "Nee",
"voertuigsoort" : "Aanhangwagen",
"wacht_op_keuren" : "Geen verstrekking in Open Data",
"wam_verzekerd" : "N.v.t.",
"carrosserie" : [
{
"volgnummer" : NumberInt(1),
"type" : "DB",
"omschrijving" : "Autonome aanhangwagen",
"specificatie" : [
{
"carrosseriecode" : "21",
"omschrijving" : "Voor vervoer boten",
"carrosserie_voertuig_nummer_code_volgnummer" : NumberInt(1)
}
]
}
]
}
当我尝试使用以下任何语句更新它时,它总是给我错误。
db.getCollection("RDW dataset").update(
{
"datum.eerste_afgifte_nederland" : { $lte : new ISODate("2005-01-01")},
},
{
$set : {"carrosserie.$[].specificatie.$[].carrosseriecode" : "5"}
},
{
multi : true
}
)
或
db.getCollection("RDW dataset").update(
{
"datum.eerste_afgifte_nederland" : { $lte : new ISODate("2005-01-01")},
},
{
$set : {"carrosserie.0.specificatie.$.carrosseriecode" : "5"}
},
{
multi : true
}
)
我在这里做错了什么。我无法使其正常工作。