Cloudant couchdb 查询自定义排序



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

  1. 活动 = 1
  2. 已售出 = 2
  3. 或有 = 4
  4. 待处理 = 3

我想对Status结果进行排序,但不按字母顺序排序,而是我自己分配给每个值的权重,可以在上面的列表中看到。这是我正在使用Status查询的选择器:

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

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

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

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

当你使用它时,按照你需要的

顺序调用它4次,你会得到你需要的结果。这将消除排序的需要。

最新更新