1
这里是我的文档结构:的MongoDB聚合管道多各期合并管道
{
"_id" : ObjectId("50dcd7ff4de274a2c4a31df0"),
"seq_name" : "169:D18M6ACXX:1:1111:17898:82486:GTGACA_10",
"raw_seq" : "TTGACCTGAGGAGACGGTGACCAGGGTTCCCTGGCCCCAGTAGTCAACGGGAGTTAGACTTCTCGCACAGTAATAAACAGCCGTGTCCTCGGCTCTCAGGCTGTTCATTTGCAGA",
"seq_aa" : "LQMNSLRAEDTAVYYCARSLTPVDYWGQGTLVTVSSGQ",
"cdr3_seq" : "GCGAGAAGTCTAACTCCCGTTGACTAC",
"cdr3_seq_aa" : "ARSLTPVDY",
"cdr3_seq_len" : 27,
"cdr3_seq_aa_len" : 9,
"vg" : "IGHV3-48*03",
"dg" : "IGHD3-10*02R",
"jg" : "IGHJ4*02",
"donor" : 10
}
我真的很喜欢MongoDB的框架,但我有这个分组管道麻烦,因为我不能$到另一个集合尚未。我可以做这个多分组管道。
db.collection.aggregate({$match:{cdr3_seq_aa_len:{$gt:3}},
{$group:{_id:$cdr3_seq_aa,other_set:{$addToSet:$cdr3_seq_aa_len}}},
{$group:{_id:$other_set,sum:{$sum:1}}})
这给了我多少独特 $ cdr3_seq_aa的存在是由长度分组。
{ id:40, sum:1002031,
id:41, sum:1949402,....
但是我想要做的第一个操作是按捐助者分组。所以我可以首先知道每个捐助者中有多少独特的cdr3_seq_aa字符串。然后,我想按长度对它进行分组并计算有多少个字符串与长度组合。
的一些问题: 1.在第一组$ {cdr3_seq_aa_len $匹配 2.需要集团化运作的到底需要另一}($第一部作品) 3.需要$ cdr3_seq_aa_len去年$组_id,而不是$ cdr_seq_aa_len –
@Wes。非常感谢更正。 – mjhm
没问题。你击败了我的答案,所以我只是通过测试数据运行查询,这使得调试变得容易。 :) –