次のクエリが機能しなくなった理由がわかりません。基本的に、リスナーの場所と過去のリスナーの場所があり、過去のリスナーの場所は更新したくないようです。
BSON field 'update.updates.u' is the wrong type 'array', expected type 'object'",
私が実行しているクエリは次のとおりです。
db.getCollection("pastlistenerslocation").updateMany(
{ "location.coordinates": { $exists: true } },
[{
$set: {
"location.coordinates": [
{
$toDouble: {
$arrayElemAt: ["$location.coordinates", 0]
}
},
{
$toDouble: {
$arrayElemAt: ["$location.coordinates", 1]
}
}
]
}
}]
)
私のデータは次のようになります
{
"_id" : ObjectId("60b5f1fe0948ad2d50428b48"),
"location" : {
"coordinates" : [
"115.88027251449634",
"-31.925607553334974"
]
},
"timestamp" : ISODate("2021-06-01T08:38:21.212+0000")
}
Mongodb バージョン 4.0.3 を使用しています。