-1

无需详细说明我是如何到达这里的,任何人都可以帮助我使用 mongo 中的聚合来连接这些嵌套数组的内容:

连接

    {  "missing_users" : [ 
            [ 
                [ 
                    "attachment_5089820813-30177-ulr2vz.csv", 
                    "User not found for 201610-EEC-100-A01-31562"
                ], 
                [ 
                    "attachment_50820160813-30177-ulr2vz.csv", 
                    "User not found for 201610-EEC-001-001-31567"
                ], 
                [ 
                    "attachment_5089820813-30177-ulr2vz.csv", 
                    "User not found for 201610-EEC-001-001-31547)"
                ],        
            ], 
            [ 
                [ 
                    "attachment_508160813-28337-5qpqyb.csv", 
                    "User not found for 201610-ETX-010-001-33550)"
                ], 
                [ 
                    "attachment_50520160813-28337-5qpqyb.csv", 
                    "User not found for 201610-ETX-010-001-33330)"
                ], 
                [ 
                    "attachment_50895813-28337-5qpqyb.csv", 
                    "User not found for 201610-ETX-010-001-33580)"
                ], 
                [ 
                    "attachment_50813-28337-5qpqyb.csv", 
                    "User not found for 201610-ETX-010-001-33450)"
                ], 
                [ 
                    "attachment_508916813-28337-5qpqyb.csv", 
                    "User not found for 201610-ETX-010-001-33550)"
                ]
            ]
       ]
 }

我会对在深度嵌套数组中找到的字符串数组感到满意,但我也真的只对嵌套最深的数组的第二个值感兴趣。

这将是足够的:

results : ["attachment_5089820813-30177-ulr2vz.csv", 
       "User not found for 201610-EEC-100-A01-31562",
       "attachment_5089820813-30177-ulr2vz.csv", 
       "User not found for 201610-EEC-100-A01-31562",
       "attachment_5089820813-30177-ulr2vz.csv", 
       "User not found for 201610-EEC-100-A01-31562"]

但我真的只是想要这个:

results : ["User not found for 201610-EEC-100-A01-31762",
           "User not found for 201610-EEC-100-A01-31862",
           "User not found for 201610-EEC-100-A01-35602"]
4

1 回答 1

1

我正在尝试这个..以下有帮助吗?

s1:PRIMARY> db.ary.aggregate([{"$unwind":"$missing_users"},{"$unwind":"$missing_users"},{"$unwind":"$missing_users"},{"$group":{"_id":"$_id","missing_users":{"$push":"$missing_users"}}}]).pretty();

\ 输出

   {
        "_id" : ObjectId("57aead0a4d7aa623b01b5820"),
        "missing_users" : [
                "attachment_5089820813-30177-ulr2vz.csv",
                "User not found for 201610-EEC-100-A01-31562",
                "attachment_50820160813-30177-ulr2vz.csv",
                "User not found for 201610-EEC-001-001-31567",
                "attachment_5089820813-30177-ulr2vz.csv",
                "User not found for 201610-EEC-001-001-31547)",
                "attachment_508160813-28337-5qpqyb.csv",
                "User not found for 201610-ETX-010-001-33550)",
                "attachment_50520160813-28337-5qpqyb.csv",
                "User not found for 201610-ETX-010-001-33330)",
                "attachment_50895813-28337-5qpqyb.csv",
                "User not found for 201610-ETX-010-001-33580)",
                "attachment_50813-28337-5qpqyb.csv",
                "User not found for 201610-ETX-010-001-33450)",
                "attachment_508916813-28337-5qpqyb.csv",
                "User not found for 201610-ETX-010-001-33550)"
        ]
}
s1:PRIMARY>
于 2016-08-13T05:31:26.327 回答