繁体   English   中英

Mongodb 将值从一个字段更新到另一个字段

[英]Mongodb Update Value from one field to another

我正在尝试在 mongodb 中执行以下操作

update table1 set name = name1

我在用:

db.table1.updateMany(
{},
{
    $set: {name: "$name1".}
}
)

但是,当我检查集合时, name = $name1 的值(意味着它只是将它作为字符串放入)。 我希望 name1 的值出现在字段名称中。

在 4.2 上试过这个。

您需要为此运行聚合管道:

想象一下,您像这样插入了文档:

db.table1.insertOne({ _id: 1, name1: "1"})

然后您要更新现有文档:

db.table1.updateOne( {_id: 1},
  [
    { $replaceRoot: { newRoot:
       { $mergeObjects: [ "$$ROOT" , { name: "$name1" } ] }
    } }
  ]
)

或者更简单的语法是:

db.table1.updateOne({_id: 1}, [{ $set: { name: '$name1' } }])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM