NDB查询挂起一组条件

时间:2018-07-03 15:33:35

标签: google-app-engine google-cloud-datastore app-engine-ndb

已更新: 我在index.yaml中没有条目,期望之字形在相等性上正常工作(在数据存储区UI中看起来很正常),这是我正在执行的实际查询:

UploadBlock.query(
    UploadBlock.time_slices == timeslice,  # timeslice is each value in the repeated property
    UploadBlock.company == block.company,
    UploadBlock.aggregator_serial == block.aggregator_serial,
    UploadBlock.instrument_serial == block.instrument_serial)\
.fetch(10, keys_only=True)

我交叉张贴了此内容,因为我没有先阅读初始支持页面,所以它也在https://groups.google.com/forum/#!topic/google-appengine/-7n8Y_tzCgM的google论坛上

我有一个数据存储查询,它是系统不可或缺的一部分。这是对四个属性的相等过滤器。当我针对一组条件进行此查询时,查询将挂起。对于数据存储查看器中的这套条件,它不会挂起,因此我可以看到只有两个结果要返回。我可以通过id毫无问题地获取这两个实体,但是无论在远程shell还是在生产环境中,查询始终都挂起。对于多种不同的条件,该查询运行良好,似乎就是这一组。我尝试替换两个实体,以便条件仍然匹配,但是它们具有不同的ID,并且得到相同的结果。

有关一些更具体的信息,四个属性的定义如下:

company = ndb.KeyProperty(indexed=True)
aggregator_serial = ndb.StringProperty(indexed=True)
instrument_serial = ndb.StringProperty(indexed=True)
time_slices = ndb.IntegerProperty(indexed=True, repeated=True)

我正在运行gcloud版本

Google Cloud SDK 207.0.0
app-engine-java 1.9.64
app-engine-python 1.9.71
app-engine-python-extras 1.9.69
beta 2018.06.22
bq 2.0.34
core 2018.06.22
gcloud
gsutil 4.32

对于我应该为下一步操作提供的任何帮助,将不胜感激。

谢谢!

0 个答案:

没有答案