2017-08-02 55 views
0

我對Elixir使用currently most active mongodb driver(不使用Ecto)。我想查詢一個限制,但在此之前我需要按降序排列。我不知道我會如何做到這一點。該文檔提到限制,但不排序依據:Elixir Mongodb驅動程序:我如何順序降序?

Mongo.find(:mongo, "collection", %{"field" = "somefieldvalue"}, limit: 10) 

任何人都知道輸入排序依據如何在現場例如如果字段名稱是「時間」,我想結果按時間排序,降?

如果我在IEX中鍵入h Mongo.find,我得到一個:order_by原子,但不知道如果我想指定降序,我將如何使用它。

+0

嘗試'排序:%{時間:-1}':'Mongo.find(:蒙戈, 「收藏」,%{ 「場」= 「somefieldvalue」 },限制:10,排序:%{時間:-1})# – Dogbert

+1

@Dogbert:賓果遊戲的作品。可能想把它變成一個答案,以便我可以給它一個接受。 –

+0

@ThomasBrowne這是文檔中的一個錯誤。這已在幾個月前解決,並已在最新版本中。 –

回答

1

您可以將sort選項傳遞給Mongo.find/4。該密鑰的值按原樣傳遞給MongoDB。在MongoDB中,您按照文檔here所記載的那樣將密鑰的值設置爲-1,然後按鍵排序。以下應排序的time鍵降:

Mongo.find(:mongo, "collection", %{"field" = "somefieldvalue"}, limit: 10, sort: %{time: -1})