Cloudant couchdb查询自定义排序

时间:2016-12-30 18:48:18

标签: sorting couchdb cloudant

我想根据自定义排序对couchdb查询a.k.a芒果查询的结果进行排序。我需要自定义排序,因为如果Status可以是以下之一:

  1. 有效= 1
  2. 已售出= 2
  3. Contingent = 4
  4. 待定= 3
  5. 我想在Status上对结果进行排序,但不是按字母顺序排序,而是我自己的权重我分配给每个值,可以在上面的列表中看到。这是我正在使用的Status查询的选择器:

    {type:"Property", Status:{"$or":[{$eq: "Pending"}, {$eq:"Active"}, {$eq: "Sold"}]}}
    

    如果我在带有状态的json中使用sort数组,我认为它将按字母顺序排序,我不想要。

1 个答案:

答案 0 :(得分:0)

您实际上是在寻找基于"状态"的结果。您可以创建类似于此的视图:



function(doc) { if (doc.type == "Property") { emit(doc.Status, doc);}}




当您使用它时,按照您需要的顺序调用它4次,您将获得所需的结果。这将消除排序的需要。