Javascript google数据存储查询中的多个选择错误:节点中的前置条件失败错误
我使用以下查询从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,所以需要手动创建这些索引 我有一个教程介绍了这一
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文件。如果你能帮我解决这个问题。