Javascript google数据存储查询中的多个选择错误:节点中的前置条件失败错误

Javascript google数据存储查询中的多个选择错误:节点中的前置条件失败错误,javascript,node.js,google-app-engine,google-cloud-datastore,gcloud-node,Javascript,Node.js,Google App Engine,Google Cloud Datastore,Gcloud Node,我使用以下查询从google数据存储中检索一些实体: var query=datastore.createQuery(名称空间,表名); 查询。选择(['displayName','username']); getEntitySet(查询,函数(错误,数据){ 如果(错误){ res.status(500.end(); } 否则{ res.send(数据); } });为了使用多属性查询,您需要创建多属性索引 因为您没有使用App Engine,所以需要手动创建这些索引 我有一个教程介绍了这一

我使用以下查询从google数据存储中检索一些实体:

var query=datastore.createQuery(名称空间,表名);
查询。选择(['displayName','username']);
getEntitySet(查询,函数(错误,数据){
如果(错误){
res.status(500.end();
}
否则{
res.send(数据);
}

});为了使用多属性查询,您需要创建多属性索引

因为您没有使用App Engine,所以需要手动创建这些索引

我有一个教程介绍了这一点

以下是步骤:

  • 安装Java 7运行时(或更高版本)
    • 我建议使用已经安装并配置了Java的
  • 创建一个名为WEB-INF的文件夹
  • 在该文件夹中,您需要三个文件:
    • (用项目ID替换此处的项目ID)
    • (删除我用于示例的索引)
  • 在datastore-indexes.xml文件中,需要定义多属性索引
  • 安装
  • 最后,运行gcd工具(WEB-INF文件夹上方的一个目录)
    • Linux/Mac
      path/to/gcd.sh updateindexes--auth\u mode=oauth2.
    • Windows
      path/to/gcd.cmd updateindexes--auth\u mode=oauth2.

  • 几分钟后,应该创建索引。

    仅从实体中选择几个属性意味着使用投影,并且必须有支持索引。每个属性都会创建一个索引,但您需要为多个属性的投影定义自己的索引亲爱的@TimHoffman,非常感谢您的输入,我是Google数据存储的初学者,您能帮助我创建支持索引吗。我正在使用gcloud节点API来执行数据存储操作。提前感谢您的帮助:)我正在使用google compute engine(不是APPEngine)和NodeJS作为我的运行时。您是否阅读过任何文档?您需要的所有东西都在那里?亲爱的@TimHoffman,我已经通过您共享链接的文档进行了浏览。但我不知道在哪里可以找到或创建WEB-INF/datastore-indexes.xml文件。如果你能帮我解决这个问题。