具有一个字段不同的投影查询,并基于另一个投影字段的查询顺序

时间:2019-11-15 10:57:05

标签: google-cloud-datastore objectify

我有几个过滤器,并且已经投影了两个字段,我试图根据一个投影字段来查询不同的字段,并根据另一个投影字段来查询顺序,但是投影效果良好,但是我没有得到值。

代码:

List <Foo> fooList = ofy().load()
                          .type( Foo.class )
                          .project( "field1" )
                          .distinct(true)
                          .project( "field2" )
                          .order( "field2" )
                          .filter(filters)
                          .limit( 1000 )
                          .list(); 

1 个答案:

答案 0 :(得分:0)

提出的问题取决于需要考虑的几个因素。此代码示例没有提供足够的信息来回答您的问题。您正在使用哪种类型的数据集?您是否正在使用最新的Java版本?是否导入了正确的软件包?

重要的是,您已将Objectify版本更新为5.0.5+,该版本支持投影查询和不同的操作。 Distinct using objectify

编辑:在回答您的评论

您已将文件导入到要在其中测试查询的数据存储中。我指的是您正在使用的数据并测试您的查询。您正在处理多少数据才能解决此问题?也许您应该尝试使用较小的数据集文件进行测试。数据点数量越多,您输出结果中出现差异或不一致的机会就越大。

有不同类型的数据集。您是否在使用结构化数据?您是否在使用带有时间顺序概念的时间戳数据,该时间定义了捕获或收集每个点?您可以使用机器数据或大数据。您需要考虑正在处理的数据类型。这可能会影响通过实现的功能(在本例中为不同的值)显示和记录数据的方式。

您还在什么环境上运行查询?