MongoDB 将字段名称作为字符串插入而不是获取值

MongoDB inserts field names as string instead of getting the value

我想根据现有的经度和纬度创建一个新的位置字段。

db.neigborhood.updateMany({}, {
$set: {
    "location": {
        "type": "Point",
        "coordinates": ["$longitude", "$latitude"]
    }   
}});

我写了这段代码来创建新字段,但问题是我得到的不是字段值,而是字符串形式的名称。

{
  "_id": {
    "$oid": "626a01f1df85b4b2937ece2d"
  },
  "latitude": "10.4980067",
  "longitude": "-66.8335096",
  "location": {
    "type": "Point",
    "coordinates": [
      "$longitude",
      "$latitude"
    ]
  }
}

我得到的是“$longitude”而不是 -66.8335096 值,我做错了什么?

适用于 Update with Aggregation Pipeline

db.neigborhood.updateMany({},
[
  {
    $set: {
      "location": {
        "type": "Point",
        "coordinates": [
          "$longitude",
          "$latitude"
        ]
      }
    }
  }
])

Sample Mongo Playground