我想根据自定义排序对couchdb查询(又名芒果查询)的结果进行排序。我需要自定义排序,因为如果Status
可以是以下之一:
- 活动 = 1
- 已售出 = 2
- 或有 = 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次,你会得到你需要的结果。这将消除排序的需要。