1
MongoDB does not allowは、1回の操作で配列内の項目を置き換えます。代わりにプッシュ操作でプッシュ操作が行われます。MongoDB - ネストされた配列内の項目を置換します。
残念ながら、並列リクエスト(分散環境)のアレイ内の同じアイテム(つまり、 2xプルラン、次に2xプッシュ)に競合状態が発生する場合があります。これにより、エントリが重複します。
{
"_id": ...,
"nestedArray": [
{
"subId": "1"
},
{
"subId": "1"
},
{
"subId": "2"
}
]
}
回避策はありますか?
MongoDBがまだSQLキャンプから嫌われているのは、そういうことだと思います。:)以前はそのような解決策を打ちましたが、それは正しくはないと感じました。おかげで –
あなたはMongoDBで作業するためのアプローチ全体を変更する必要があります。あなたの要件はわかりませんが、おそらくMongoDBと連携してトランザクションをサポートできるRedisを調査しようとします。 – enrichz