首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Fi还原本机对象化-没有找到匹配索引

使用Fi还原本机对象化-没有找到匹配索引
EN

Stack Overflow用户
提问于 2022-01-05 02:35:02
回答 1查看 102关注 0票数 0

我有一个非常简单的Java对象集合,我使用Objectify 6.0.7存储在Google数据库(本机模式)中。存储、删除和查询对象都很好,但是在单个字段上使用orderBy子句的查询会失败,“没有找到匹配的索引”。在Datastore项目中,完全相同的代码工作得很好(因此Java代码没有问题)。

我无法找到明确的文档,说明Objectify是否可以与Firestore一起工作,我怀疑这就是问题所在。有什么想法?

这是一个查询:

代码语言:javascript
复制
ofy().load().type(Flight.class).order("-date").list();

这是该集合中的一个示例记录(法语地区,但日期对象是有效的):

代码语言:javascript
复制
airTime: "0.8666666666666667"
date: 20 décembre 2020 à 19:51:41 UTC-5
engineStartTime: 20 décembre 2020 à 19:51:41 UTC-5
engineStopTime: 20 décembre 2020 à 21:14:41 UTC-5
flightTime: 1.3833333333333333
from: "CYQB"
landingTime: 20 décembre 2020 à 21:08:41 UTC-5
takeOffTime: 20 décembre 2020 à 20:16:41 UTC-5
to: "CYVB"

使用升序(例如,order("desc")也失败),但是将.order('-desc')函数从查询中完全删除并不会导致任何错误,但当然返回结果是随机的。

我从文档中了解到,默认情况下,所有单字段索引都应该在Firestore中创建,并且我看不到在控制台中创建单个字段索引的方法。因此,我假设order函数中使用的date字段存在一个索引。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-05 04:27:07

Objectify v6使用com.google.Cloud:google库作为一个低级API。我很确定图书馆只在Datastore模式下工作。Google有一个完全不同(而且更原始)的修复模式Java库。

所以我认为现在您需要使用Datastore模式,而不是Firestore模式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70587200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档