如何在Google Cloud Datoreore中搜索数组中的值

时间:2016-10-25 14:14:49

标签: google-app-engine google-cloud-datastore

假设我们在Google Cloud Datastore中有一个实体 - “作业”并且它有一些访问控制标记:

["admin", "manager"]

我们的用户有一些访问控制标记

["admin", "super_user"] 

我们希望撤回该用户有权访问的所有作业;例如在SQL中像

SELECT * from Job where tags INCLUDE "admin" OR tags INCLUDE "super_user"

不支持OR查询,还有另一种方法可以实现吗?

2 个答案:

答案 0 :(得分:0)

您可以使用ndb.OR查询数据存储模型吗?类似this example中的内容:

query = Article.query(ndb.AND(Article.tags == 'python',
                          ndb.OR(Article.tags.IN(['ruby', 'jruby']),
                                 ndb.AND(Article.tags == 'php',
                                         Article.tags != 'perl'))))

答案 1 :(得分:0)

您可以查询以检索多个值,如下所示:

如果您具有多个数据存储区ID的数组,如下所示:

[1,2,3,4]

您可以使用gstore-node软件包进行查询

var userData = await UserModel.get([1,2,3,4]);

希望这会对您有所帮助。

谢谢