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

0

updateMany 的第二个参数是一个数组:MongoDB 期望它是一个对象。

于 2021-10-01T19:37:32.187 回答