1

次のクエリが機能しなくなった理由がわかりません。基本的に、リスナーの場所と過去のリスナーの場所があり、過去のリスナーの場所は更新したくないようです。

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 を使用しています。

4

1 に答える 1