[英]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.