我有 3 個這樣的物件
{"_id":{"$oid":"625f0e73b1d7269de9ebdaeb"},
"Type":"scalar",
"Temperature":22.79,
"Vibration":{"A-P2P":{"X":85},"Z2P":{"X":43},"Crest":{"X":417}},
"Timestamp":1650396787,
"GatewayId":"0df07c53","MeasDetails":{"G-range":4,"Trigger":4,"Id":51940}}
{"_id":{"$oid":"625f0e73b1d7269de9ebdaeb"},
"Type":"scalar",
"Temperature":22.79,
"Vibration":{"A-P2P":{"Y":85},"Z2P":{"Y":43},"Crest":{"Y":417}},
"Timestamp":1650396787,
"GatewayId":"0df07c53","MeasDetails":{"G-range":4,"Trigger":4,"Id":51940}}
{"_id":{"$oid":"625f0e73b1d7269de9ebdaeb"},
"Type":"scalar",
"Temperature":22.79,
"Vibration":{"A-P2P":{"Z":85},"Z2P":{"Z":43},"Crest":{"Z":417}},
"Timestamp":1650396787,
"GatewayId":"0df07c53","MeasDetails":{"G-range":4,"Trigger":4,"Id":51940}}
除了振動鍵中的 X、Y、Z 鍵外,其他一切都是多余的。我想把它合并成一個像這樣的物件
{"_id":{"$oid":"625f0e73b1d7269de9ebdaeb"},
"Type":"scalar",
"Temperature":22.79,
"Vibration":{"A-P2P":{"X":85, "Y":85, "Z":85},"Z2P":{"X":43, "Y":43, "Z":43},"Crest":{"X":417, "Y":417, "Z":417}},
"Timestamp":1650396787,
"GatewayId":"0df07c53","MeasDetails":{"G-range":4,"Trigger":4,"Id":51940}}
uj5u.com熱心網友回復:
詢問
- 查詢假設您只有
Crest/A-P2P/Z2P并且只有X/Y/Z - 對物件進行分組和合并,為每個物件創建一個合并物件
- 設定/取消設定以修復結構
玩蒙哥
aggregate(
[{"$group":
{"_id": "$MeasDetails.Id",
"A-P2P": {"$mergeObjects": "$Vibration.A-P2P"},
"Z2P": {"$mergeObjects": "$Vibration.Z2P"},
"Crest": {"$mergeObjects": "$Vibration.Crest"},
"Type": {"$first": "$Type"},
"Temperature": {"$first": "$Temperature"},
"Timestamp": {"$first": "$Timestamp"},
"GatewayId": {"$first": "$GatewayId"}}},
{"$set":
{"Vibration": {"A-P2P": "$A-P2P", "Z2P": "$Z2P", "Crest": "$Crest"}}},
{"$unset": ["A-P2P", "Z2P", "Crest"]}])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/463100.html
