MongoDB的GROUPBY汇总和另外的查询一起
问题描述:
我正在推动实施我刚才的问题MongoDB GroupByMongoDB的GROUPBY汇总和另外的查询一起
使用聚合函数,我得到我想要的东西之后,现在我想一些查询参数添加到聚合函数和查询应该是施加到导致的,即例如用于ENTITY_ID骨料 “123”,也有4年VAL
“2010”,“2011”,“2012”,“2013”
施加聚集函数按照后最后一个问题得到“2013”,实体ID为“123”,这是绝对正确的。
现在我想添加额外的查询,它应该是这样的 - “ENTITY_ID‘123’和年份‘2013’和‘extra_query ENTITY_ID‘123’
我试着使用$的比赛,但它正在采取的。’和额外的查询。
我在我的DB 2个集合
集合1.
{
"entity_id":123,
"added_by":"a",
},
{
"entity_id":321,
"added_by":"b",
},
和收集2
{
"entity_id":123,
"year":"2014",
"profit_val":2000,
},
{
"entity_id":123,
"year":"2013",
"profit_val":1000,
},
{
"entity_id":123,
"year":"2012",
"profit_val":500,
},
{
"entity_id":123,
"year":"2011",
"profit_val":100000,
},
所以当我搜索“profit_val”> 10000,我得到的结果是“entity_id”= 123,但这个结果是错误的,因为我只想看到这个条件只与实体的最大年份。 inshort我想组最大年份,我已经做了,现在给出的答案现在我想添加查询到这个“分组”结果只。
我希望这会让你明白我在找什么。
答
我从这个问题所理解的是你想要的东西。
> db.collection2.aggregate([
{
$sort: {
"year": 1
}
},
{
$group: {
_id: "$entity_id",
year: {
$max: "$year"
},
profit_val: {
$last: "$profit_val"
}
}
},
{
$match: {
"profit_val": {
"$gt": 10000
}
}
}
])
哇我只是把一个文本球分成段,使它可读,它仍然没有任何意义。你在这里问什么? – 2015-03-03 07:00:31
@NeilLunn我已经更新了这个问题,希望这会帮助你理解这个问题。 – user1673091 2015-03-03 07:13:02
增加的东西不是很清楚。你是说你想要找到一个“profit_val”> 10000且“年”= 2013的文档吗?看不清这与你提出的最后一个问题有甚么关系,或者它将如何应用于此。如果engish不是您的语言,您可能需要其他人的帮助来撰写您的问题。我现在确实没有清楚说明任何事情。 – 2015-03-03 07:20:46