我正在测试 GAE模块应用。我的应用程序很简单,它没有任何查询到Cloud SQL或任何地方,它只是一个helloworld。
但是,我得到了f
com.google.appengine.api.datastore.DatastoreNeedIndexException: no mat
<datastore-index kind="Greeting" ancestor="true" source="manual">
<property name="date" direction="desc"/>
</datastore-index>
怎么可能?
我已经多次开发其他GAE应用程序,我从未遇到过这个问题
答案 0 :(得分:2)
查询需要编入索引,否则就无法工作。在这种情况下,似乎当您返回问候语时,您按日期对它们进行了排序。数据存储区根据实体的索引字段将数据存储在预先排序的表中;这意味着如果您从未编入索引&#34; date&#34;,则不存在所有问候按日期排序的表格。
您只需将该数据存储区索引块添加到WEB-INF文件夹中的datastore-indexes.xml即可修复它。
添加索引后,重新部署并等待大约10分钟,以便将所有旧数据编入索引(如果您有更多数据,则可能需要更长时间)。再试一次,现在应该可以了。