我是新來的MongoDB,一個應用程序,我有模式分組,記錄與MongoDB的
{
date: "date",
data:"encrypted data",
sender:"sender",
receiver:"receiver"
}
和我期待的記錄組中的對象杵,與組由發送器/接收器名稱這是不等於一個特定的值。前者爲 。
{
date: "date",
data:"encrypted data",
sender:"xyz",
receiver:"abc"
},
{
date: "date",
data:"encrypted data",
sender:"abc",
receiver:"xyz"
},
{
date: "date",
data:"encrypted data",
sender:"pqr",
receiver:"abc"
},
{
date: "date",
data:"encrypted data",
sender:"abc",
receiver:"pqr"
},
{
date: "date",
data:"encrypted data",
sender:"pqr",
receiver:"xyz"
},
{
date: "date",
data:"encrypted data",
sender:"xyz",
receiver:"pqr"
}
當我使用find(abc)和某些組函數時,我需要以波紋管格式的數據。
{
xyz:[
{
date: "date",
data:"encrypted data",
sender:"xyz",
receiver:"abc"
},
{
date: "date",
data:"encrypted data",
sender:"abc",
receiver:"xyz"
}
],
pqr:[
{
date: "date",
data:"encrypted data",
sender:"pqr",
receiver:"abc"
},
{
date: "date",
data:"encrypted data",
sender:"abc",
receiver:"pqr"
}
]
}
如何使用$ group或mongodb的任何其他功能給出給定格式的結果?
獲取除非你知道每一個單獨的名字,並將它們全部放入你的$ project語句中,否則就不可能進行聚合。但是可以爲每個用戶獲取一個對象的數組。然後,您可以將它轉換爲應用程序層上的鍵/值表。 – Philipp
@菲利普,在這個世界上沒有什麼是不可能的,如果這種方式無法實現,可以用另一種方式。我找到了解決這個問題的方法。 :) –