[英]How can I assign an element of the array to a new key in the document on MongoDB
我對MongoDB有問題。 我有很多這樣的文檔集合:
{
key1:[
{el:"EL1"},
{el:"EL2"}
]
}
我想更新集合col
中的所有文檔,添加一個新的key key2
,其中值為key1.0
。 特別是通用輸出的文檔將是:
{
key1:[
{el:"EL1"},
{el:"EL2"}
],
key2: {el:"EL1"}
}
我怎樣才能做到這一點? 謝謝
您可以將$ addFields與$ let一起使用,以基於key1.0
值生成新字段,然后可以運行$ out以聚合的結果更新現有集合:
db.col.aggregate([
{
$addFields: {
"key2.el": {
$let: {
vars: { fst: { $arrayElemAt: [ "$key1", 0 ] } },
in: "$$fst.el"
}
}
}
},
{ $out: "col" }
])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.