gan*_*til 5 gql google-cloud-datastore
我得到以下异常:
Exception in thread "main" com.google.cloud.datastore.DatastoreException: no matching index found. recommended index is:
- kind: cp_outbox
properties:
- name: format
- name: occasion_name
- name: sent_datetime
- name: status
- name: send_date
Run Code Online (Sandbox Code Playgroud)
在运行以下查询时:
SELECT * FROM cp_outbox where send_date <= '2018-03-14' and sent_datetime is null and format='test1' and status=0 and occasion_name='test'
所以我在查询中使用了不等式运算符,并且我有复合索引:
但我仍然得到例外。
通过查看错误,我认为属性的顺序是问题所在。如果这是真的,那么为什么这个顺序很重要。
提前致谢。
在提供查询服务时,属性顺序对于复合索引绝对重要。该顺序使我们能够提供范围查询,而无需扫描索引表的大部分内容。作为一般规则,最终属性是您可以执行不等式查询的属性,然后重命名属性顺序定义order by您可以使用的子句顺序。
在您的查询中,send_date您正在执行不等式,而您现有的复合索引仅允许occasion_name.
如果您创建的复合索引与 API 返回的完全一样,您的查询将起作用。
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |