我在 MongoDB 中有一個資料庫,其中有具有以下結構影像的條目
我在 Python 中使用了一個腳本,用于從該結構中檢索資訊,然后將其保存到 csv 中。
最終目標是僅移除parameters結構的某些部分。例如,我想保留parameters[0].values但parameters[1].values不parameters[2:5].values
我沒有這方面的經驗,但我使用的命令如下
{"$unset":"exercises.parameters.values"] }
但這會values從里面的所有物件中洗掉所有內容parameters。由于變數在物件中具有相同的名稱,因此我找不到指定我想要的變數的方法。
我也嘗試過這樣的索引
{"$unset":"exercises.parameters[2].values"] }
但這似乎不起作用...
非常感謝您的幫助!
uj5u.com熱心網友回復:
更新
db.collection.update({
"_id": 1
},
{
"$unset": {
"exercises.$[].parameters.2.values": "",
"exercises.$[].parameters.3.values": "",
"exercises.$[].parameters.4.values": "",
"exercises.$[].parameters.5.values": ""
}
},
{
"multi": true
})
mongoplayground
總計的
db.collection.aggregate([
{
$set: {
"exercises": {
"$map": {
"input": "$exercises",
"as": "item",
"in": {
"$mergeObjects": [
"$$item",
{
parameters: {
$slice: [ "$$item.parameters", 2 ]
}
}
]
}
}
}
}
}
])
mongoplayground
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/422848.html
標籤:
上一篇:分面管道的分頁
下一篇:選擇集合中匹配外鍵值的檔案
