0
MongoDB的總我有一個包含文檔一個蒙戈集合像這樣:有額外的信息
{
"_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
}
我所試圖做的是運行將在簽名組提交一個查詢,返回最小值和最大值的價格,相應的URL:
{
"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",
}
運行$group
上$signature
領域獲得$min
和$max
是直線前進,但爲了得到實際的URL我將查詢到2與第一查詢,返回排序使用$signature
的文檔列表,使用價格從小到大,然後(在python代碼中)取第一個和最後一個元素。這工作正常,但會很高興有一個查詢。
想法?
p.s.
另外'玩具'與運行一個查詢最小和一個最大和'壓縮'的結果。
問題:有沒有辦法運行查詢,以便返回最小值,最大值和最新值?在你的答案中,首先/最後=最小/最大值,因爲我們按價格排序:1。我們可以採取結果,'充實'它與'最新',或者我必須堅持兩個查詢,其中第一個查詢是上述和一個單獨的查詢按日期排序:-1並獲得第一個結果? – goggelj
那麼,找到它的最好方法就是試試看。 – Saleem
猜測不在一個查詢中,因爲我需要按最小/最大價格排序。對於最新的我必須按日期排序。種類不能是「連續的」,而是獨立的... – goggelj