【发布时间】:2015-02-09 21:27:07
【问题描述】:
我正在努力将 Dart 的 client-server example 部署到我的谷歌应用引擎中。数据被插入到云数据存储中就好了。但是,当查询数据时,每当我发出 GET 请求以查询所有数据时,都会出现以下异常。
13:04:19.191 Uncaught error in request handler: An index is needed for the query to succeed.
#0 catchAndReThrowDatastoreException.<anonymous closure> (package:appengine/src/api_impl/raw_datastore_v3_impl.dart:48:5)
#1 _rootRunBinary (dart:async/zone.dart:914)
#2 _CustomZone.runBinary (dart:async/zone.dart:812)
#3 _Future._propagateToListeners.handleError
...
我做了一些digging 并发现我可以通过使用运算符向对象插入索引。
所以我的数据存储对象现在如下:
import 'package:gcloud/db.dart';
@Kind()
class Item extends Model {
@StringProperty()
String name;
operator [](index) => name[index];
Map serialize() => {'name': name};
static Item deserialize(Map json) => new Item()..name = json['name'];
}
但是,当我发出 get 请求以查询所有数据时,仍然会引发相同的异常。
有什么建议吗?
【问题讨论】:
标签: google-app-engine dart google-cloud-datastore