我的couchDB中有不同类型的文档,例如:
{
"_id": "c9f3ebc1-78f4-4dd1-8fc2-ab96f804287c",
"_rev": "7-1e8fcc048237366e24869dadc9ba54f1",
"to_customer": false,
"box_type": {
"id": 9,
"name": "ZF3330"
},
"erp_creation_date": "16/12/2017",
"type": "pallet",
"plantation": {
"id": 62,
"name": "FRF"
},
"pallet_type": {
"id": 2565,
"name": "ZF15324"
},
"creation_date": "16/12/2017",
"article_id": 3,
"updated": "2017/12/16 19:01",
"server_status": {
"in_server": true,
"errors": null,
"modified_in_server": false,
"dirty": false,
"delete_in_server": false
},
"pallet_article": {
"id": 11,
"name": "BLUE"
}
}
所以,在我的所有文件中,我都有字段:type
。另一方面,我有一个视图,获取所有类型为pallet || shipment
这是我的观点:
function(doc) {
if (doc.completed == true && (doc.type == "shipment" || doc.type == "pallet" )){
emit([doc.type, doc.device_num, doc.num], doc);
}
}
所以在这个视图中我总是得到一个包含查看查询结果的列表,我遇到的问题是列表是通过接收日期排序(我猜),我需要按文档类型排序。
所以我的问题是:如何在视图中按document.type
订购文档?
答案 0 :(得分:1)
查看结果始终按键排序,因此您的视图按doc.type
排序:首先您将获得所有托盘,然后是所有货件。托盘按device_num
排序,然后num
。如果使用相同的键发出多行,则行按_id排序。您可以在CouchDB documentation。
所以你的观点应该按你想要的方式运作。 ; - )