我有一個檔案,我想按某些特定欄位進行分組,對于未包含在 groupby 中的其余欄位,我想將它們包含在嵌入式陣列中。
一個例子,假設我有以下資料
[
{"owner": "A", "pet": "dog", "pet_name": "wouf"},
{"owner": "A", "pet": "cat", "pet_name": "miaou"},
{"owner": "B", "pet": "dog", "pet_name": "wouf_wouf"},
]
我想按欄位owner和剩余欄位對這些資料進行分組,pet并且pet_name我想將它們分組到一個名為 的陣列中animals。
預期結果:
[
{
"owner": "A",
"animals": [
{"pet": "dog", "pet_name": "wouf"},
{"pet": "cat", "pet_name": "miaou"},
],
},
{
"owner": "B",
"animals": [{"pet": "dog", "pet_name": "wouf_wouf"}]
},
]
uj5u.com熱心網友回復:
詢問
- 分組
$owner,和$push - 我們沒有操作員從檔案中洗掉欄位(洗掉所有者),因此使用文字檔案,僅保留
pet/pet_name - 最后重命名
_id并owner洗掉_id
玩蒙哥
aggregate(
[{"$group":
{"_id": "$owner",
"animals": {"$push": {"pet": "$pet", "pet_name": "$pet_name"}}}},
{"$set": {"owner": "$_id", "_id": "$$REMOVE"}}])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487240.html
