MongoDB -以字符串形式插入字段名称,而不是获取值

0pizxfdo  于 2022-11-03  发布在  Go
关注(0)|答案(1)|浏览(165)

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

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"
    ]
  }
}

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

wfveoks0

wfveoks01#

Update with Aggregation Pipeline一起使用。

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

Sample Mongo Playground

相关问题