在加入了 3 個集合并進行了許多分組之后,我有如下檔案:
{
"Request" : "first",
"TotalRequests" : 12,
"Organization" : "A",
"TotalRequestsByOrganization" : 3,
"user" : "John Smith",
"TotalRequestsByUserInOrganization" : 1
},
{
"Request" : "first",
"TotalRequests" : 12,
"Organization" : "A",
"TotalRequestsByOrganization" : 3,
"user" : "John Galt",
"TotalRequestsByUserInOrganization" : 2
},
{
"Request" : "first",
"TotalRequests" : 12,
"Organization" : "B",
"TotalRequestsByOrganization" : 7,
"user" : "Chris Evans",
"TotalRequestsByUserInOrganization" : 4
},
{
"Request" : "first",
"TotalRequests" : 12,
"Organization" : "B",
"TotalRequestsByOrganization" : 7,
"user" : "Charlie",
"TotalRequestsByUserInOrganization" : 3
},
{
"Request" : "second",
"TotalRequests" : 3,
"Organization" : "B",
"TotalRequestsByOrganization" : 3,
"user" : "James Anthony",
"TotalRequestsByUserInOrganization" : 3
}
等等。
當“user”和“TotalRequestsByUserInOrganization”嵌套到“Organization”和“TotalRequestsByOrganization”中,并且它們是“Request”和“TotalRequests”的一部分時,如何對我的檔案進行分組?
我想要的結果:
{
"Request" : {
"name" : "first",
"TotalRequests" : 12,
"Organization": {
"Orgname": "A",
"TotalRequestsByOrganization": 3,
"users": {
"user" : "John Smith",
"TotalRequestsByUserInOrganization" : 1,
"user" : "John Galt",
"TotalRequestsByUserInOrganization" : 2
}}}}
uj5u.com熱心網友回復:
您可以通過 2 實作預期結果$group:
$group按最高級:Request, TotalRequests, Organization, TotalRequestsByOrganization; 用于$push將 alluser和TotalRequestsByUserInOrganizationtuple 放入一個陣列中user$group按較粗略的級別:Request, TotalRequests; 用于$push將 allOrgname,TotalRequestsByOrganization和usersarray 放入一個陣列中Organization- 在最粗略的層面上,
$project將輸出調整為您預期格式的欄位
這是Mongo 游樂場供您參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/326163.html
