【发布时间】:2017-01-24 01:27:38
【问题描述】:
我有一个包含以下文档的 mongo 集合:
{
"_id" : ObjectId("57697321c22d3917acd66513"),
"parent" : "AlphaNumericID",
"signature" : "AnotherAlphaNumericID",
"price" : 1638,
"url" : "http://www.thecompany.com/path/to/page1",
"date" : ISODate("2016-06-21T17:02:20.352Z"),
"valid" : true
}
我要做的是运行一个查询,该查询将根据签名文件分组,返回最低和最高价格以及相应的网址:
{
"signature" : "AnotherAlphaNumericID",
"min_price" : 1504,
"min_rent_listing" : "http://www.thecompany.com/path/to/page1",
"max_price" : 1737,
"max_price_listing" : "http://www.thecompany.com/path/to/page2",
}
在$signature 字段上运行$group 以获得$min 和$max 是直截了当的,但为了获得实际的url,我将查询分成2,第一个查询使用返回的文档排序列表$signature 价格从最小值到最大值,然后(在 python 代码中)取第一个和最后一个元素。这工作正常,但有一个查询会很好。
想法?
附言
还“玩弄”了一个查询最小值和一个最大值的查询并“压缩”结果。
【问题讨论】:
标签: mongodb mongodb-aggregation