Google数据存储区查询过滤同一属性的多个值

时间:2017-11-13 07:43:32

标签: node.js google-cloud-datastore

我有一个查询,我想在谷歌数据存储上运行,旨在从多个设备检索数据。但是,我无法在文档中找到任何可以从中获取数据的文档。设备-1或设备-2或设备-3,即只能设置1个属性名称。这是数据存储限制吗?或者我只是遗漏了一些我不了解的东西?

基于NodeJS客户端库,查询可能类似于以下过滤条件:

var query = datastore.createQuery('data')
              .filter('device_id', 1)
              .filter('device_id', 2)
              .filter('device_id', 3);

否则,我可能不得不为各种设备运行单独的查询,这看起来不是一个非常优雅的解决方案,特别是如果有很多设备同时运行查询。

欢迎任何有关数据存储API或替代方法的建议!

1 个答案:

答案 0 :(得分:1)

是的,这将是OR操作,是Restrictions on queries之一(强调我的):

  

索引查询机制的性质强加了某些限制   关于查询可以做什么。 Cloud Datastore查询不支持   子字符串匹配,不区分大小写的匹配或所谓的全文   搜索。 NOTOR!=运算符不是原生的   支持,但某些客户端库可能会在Cloud之上添加支持   数据存储。此外: