【发布时间】:2020-10-22 07:48:03
【问题描述】:
我想对一个字段进行排序,比如说 name,它在 Cloudant DB 中被索引。我正在获取所有具有此名称字段且不使用不带排序的索引的文档。但是,当我尝试使用名称 field 进行排序时,我没有得到文档中没有此名称字段的文档。
有没有办法通过使用查询索引来做到这一点。我希望所有文档都按排序顺序排列,但也没有 name 字段。
例如: 以下是一些文件:
{
"_id": 1234,
"classId": "abc",
"name": "Happa"
}
{
"_id": 12345,
"classId": "abc",
"name": "Prasanth"
}
{
"_id": 123456,
"classId": "abc",
}
下面是我要执行的查询:
{
"selector": {
"classId": "abc",
"name" :{
"or" : [
{"$exists": true},{"$exists": false}
]
}
},
"sort": [{ "classId": "asc" }, { "name": "asc" }],
"use_index": "idx-classId_name"
},
我希望所有文档都按排序顺序返回,包括没有 name 字段的文档。
【问题讨论】:
-
在这种情况下,如果您指定“索引”的含义,将会有所帮助。这是标准的 map-reduce 视图,还是 Cloudant Search(又名 Lucene)索引,还是 Cloudant Query 索引?我不清楚您在问什么-您想要按特定字段排序的文档,包括那些没有该字段的文档?您希望如何对不存在的字段上的文档进行排序?提供一些示例文档,并告诉我们您期望的顺序。
-
@xpqz 很抱歉不清楚。添加了必要的信息。