Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 不带索引的Google应用程序引擎查询_Google App Engine_App Engine Ndb - Fatal编程技术网

Google app engine 不带索引的Google应用程序引擎查询

Google app engine 不带索引的Google应用程序引擎查询,google-app-engine,app-engine-ndb,Google App Engine,App Engine Ndb,我有一个已部署的GAE应用程序,我注意到我有一个简单的查询: MBObject.query(MBObject.groupId == group.id).fetch() groupId是一个ndb.StringPropertyindexed=True 查看index.yaml文件,甚至是appengine.google.com上的GAE仪表板中的数据存储索引,该属性的索引没有列出。这通常意味着我在上传之前没有在开发模式下测试整个应用程序,所以我必须手动插入索引 但是,查询工作正常。它成功地返回我

我有一个已部署的GAE应用程序,我注意到我有一个简单的查询:

MBObject.query(MBObject.groupId == group.id).fetch()
groupId是一个ndb.StringPropertyindexed=True

查看index.yaml文件,甚至是appengine.google.com上的GAE仪表板中的数据存储索引,该属性的索引没有列出。这通常意味着我在上传之前没有在开发模式下测试整个应用程序,所以我必须手动插入索引


但是,查询工作正常。它成功地返回我想要的所有对象。我想知道的是这怎么可能?为什么即使我的index.yaml或我的仪表板中没有列出groupId,查询也会进行?它不应该引起一些错误吗?

GAE自动索引所有实体,并且您的查询不需要index.yaml中的特定索引定义,因为您只查询一个属性,即使您要查询多个属性,它也不会创建任何属性

如果您要按日期属性排序此查询,那么如果您要在SDK中运行它,或者您可以手动编写它们,那么它将在index.yaml中创建索引定义

从:

应用程序进行的每个数据存储查询都需要相应的 指数简单查询的索引,例如对单个 属性,则会自动创建。必须为复杂查询创建索引 可以在名为index.yaml的配置文件中定义。这个文件是 与应用程序一起上载以在数据存储中创建索引


GAE自动为所有实体编制索引,并且您的查询不需要index.yaml中的特定索引定义,因为您只查询一个属性,即使您要查询多个属性,它也不会创建任何属性

如果您要按日期属性排序此查询,那么如果您要在SDK中运行它,或者您可以手动编写它们,那么它将在index.yaml中创建索引定义

从:

应用程序进行的每个数据存储查询都需要相应的 指数简单查询的索引,例如对单个 属性,则会自动创建。必须为复杂查询创建索引 可以在名为index.yaml的配置文件中定义。这个文件是 与应用程序一起上载以在数据存储中创建索引


Ohh等一下,如果我按日期属性排序,或者查询涉及多个属性,那么它需要显式定义,嗯?这个nose插件会在运行测试时创建索引:Ohh等一下,如果我按日期属性排序,或者查询涉及多个属性,然后需要显式定义,嗯?这个nose插件将在您运行测试时创建索引: