MongoDB 更新 - 从嵌套字段设置字段
MongoDB update - set field from nested field
我想将一个字段设置为嵌套字段的值
给出
{
"_id":"myId",
"data":{
"id":"asdfasdfasdf",
"text":"Wonderful text"
}
}
预计
{
"_id":"myId",
"messageId":"asdfasdfasdf",
"data":{
"id":"asdfasdfasdf",
"text":"Wonderful text"
}
}
有没有可能做这样的事情?
db.myCollection.updateMany({},{ $set: {"messageId": "$data.id"} },false,true)
我正在使用 MongoCompass -> _MongoSH
是的,可以使用 pipelined updates 在 4.2 版中添加。
你是这样使用它的:
db.collection.updateMany(
{},
[
{
$set: {
"message": "$data.id"
}
}
])
对于较低的 Mongo 版本,您必须先阅读文档,然后使用这些值进行更新。
我想将一个字段设置为嵌套字段的值
给出
{
"_id":"myId",
"data":{
"id":"asdfasdfasdf",
"text":"Wonderful text"
}
}
预计
{
"_id":"myId",
"messageId":"asdfasdfasdf",
"data":{
"id":"asdfasdfasdf",
"text":"Wonderful text"
}
}
有没有可能做这样的事情?
db.myCollection.updateMany({},{ $set: {"messageId": "$data.id"} },false,true)
我正在使用 MongoCompass -> _MongoSH
是的,可以使用 pipelined updates 在 4.2 版中添加。
你是这样使用它的:
db.collection.updateMany(
{},
[
{
$set: {
"message": "$data.id"
}
}
])
对于较低的 Mongo 版本,您必须先阅读文档,然后使用这些值进行更新。