Dart - 为 Google Cloud Datastore 的 dart 数据存储对象插入索引
Dart - Inserting an index to dart datastore object for Google Cloud Datastore
我正在努力将 Dart 的 client-server example 部署到我的 google 应用程序引擎中。数据被很好地插入到云数据存储中。但是,当查询数据时,每当我发出 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请求时,仍然抛出相同的异常。
有什么建议吗?
我假设 index.yaml
文件在您的部署命令中丢失
gcloud preview app deploy app.yaml index.yaml
这里用蓝框突出显示了,但我也是第一次错过:
https://www.dartlang.org/server/google-cloud-platform/app-engine/deploy.html
我正在努力将 Dart 的 client-server example 部署到我的 google 应用程序引擎中。数据被很好地插入到云数据存储中。但是,当查询数据时,每当我发出 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请求时,仍然抛出相同的异常。
有什么建议吗?
我假设 index.yaml
文件在您的部署命令中丢失
gcloud preview app deploy app.yaml index.yaml
这里用蓝框突出显示了,但我也是第一次错过:
https://www.dartlang.org/server/google-cloud-platform/app-engine/deploy.html