MongoDB使用另一个字段的值添加新字段

发明286

如何从中更新收藏集中的所有文档:

{ 
    "_id" : "16-00-003", 
    "pickUpPlace" : {
        "place_id" : "someId", 
        "latitude" : 21.912363052368164, 
        "longitude" : 24.804792404174805
    }
}

到这个:

{ 
    "_id" : "16-00-003", 
    "place_id" : "someId", 
    "location" : [21.912363052368164, 24.804792404174805]        
}
瓦利洪

MongoDB聚合操作处理数据记录并返回计算结果。

db.collection.aggregate([
  {
    $project: {
      "_id": 1,
      "place_id": "$pickUpPlace.place_id",
      "location": [
        "$pickUpPlace.latitude",
        "$pickUpPlace.longitude"
      ]
    }
  }
])

如何更新

  1. 如果数据量少,则可以遍历结果并将其保存到同一集合中:

db.collection.aggregate([...]).forEach(function(doc){
    db.collection.save(doc);
})

  1. $out$merge操作员获取聚合管道返回的文档,并将其写入指定的集合(您不能在源集合中插入)。

技巧部分:将结果写入新集合中并丢弃旧集合。


db.collection.aggregate([
  {
    $project: {
      "_id": 1,
      "place_id": "$pickUpPlace.place_id",
      "location": [
        "$pickUpPlace.latitude",
        "$pickUpPlace.longitude"
      ]
    }
  },
  { $out : "collection2" }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MongoDB 使用另一个集合中的另一个字段更新字段

mongodb聚合:如果两个字段的值匹配,则将相应字典的另一个字段的值添加到新字段

添加新字段,它是文档中另一个字段的大小

Laravel更新字段,带有另一个字段值

C# 使用另一个字段的 setter 更新字段

MongoDB:如何为集合中的每个文档设置一个新字段,该字段等于另一个字段的值

在每个文档中添加一个新字段,并在mongodb中为同一文档的另一个字段赋值

MongoDB Aggregate在文档中添加一个新字段(如果已存在另一个字段)

mongoDB $ set问题,使用文档的键值/另一个字段值

Django ModelField在添加新字段时将默认值添加到基于同一模型中的另一个字段

根据另一个字段的值在MongoDB中投影一个字段

mongodb聚合添加从另一个字段派生的字段

在一个查询中,在Mongo对象中添加一个新字段,并使用另一个字段中的值进行初始化

Mongodb 比较使用一个字段与对象数组中的另一个字段

Mongodb字段值作为另一个字段

React:以动态生成的形式基于另一个字段更新字段值

如何使用Ruby将另一个字段的值添加到HTTParty字段

根据文档中的另一个字段更新字段

当另一个字段更新时更新字段的模式的标准实践

SQL更新字段基于另一个字段的条件

在 Android MVVM 中更改另一个字段时更新字段

使用另一个字段的值更新MongoDB字段

如何使用另一个字段的值更新MongoDB字段

在另一个字段上使用 RegEx 在 R data.table 中创建新字段

postgres - 创建触发器以使用新格式的另一个字段更新字段

Mongo 通过将值从一个字段映射到另一个集合中的字段中的值来创建新字段

SOLR:将2个字段复制到另一个字段并将过滤器添加到该新字段

MongoDB - 基于另一个字段值的 $match

通过另一个字段mongodb查找不同的值组