私は更新する必要があるオブジェクトの2レベルの深いネストされた配列を持つmongodbのドキュメントを持っています。Mongodbは複数のネストした配列のオブジェクトを更新します
{
"id":12362,
"onGoing":[
{
"id":14597,
"offers":[
{
"id":56897,
"status":"validated"
},
{
"id":86127,
"status":"validated"
}
]
},
{
"id":89451,
"offers":[
{
"id":12235,
"status":"validated"
},
{
"id":56457,
"status":"validated"
}
]
}
]
}
idと一致するすべてのオファーを更新したいと思います。
Iは
db.repairJobs.update({
"onGoing.offers":{
$elemMatch:{
_id:{
$in:[
'56897', '56457'
]
}
}
}
},
{
$set:{
"ongoing.offers.$.status":"ACCEPTED"
}
});
が、エラーを取得するように更新することを試みた:要素を横断する(ongoing.offers.0.statusの継続的な)部分を使用することはできません({進行中:[{_id:NULL 、...
更新する任意の方法がありますが、解決策は、春のデータと互換性を持つようにする必要があります。
感謝 – user3794642