Google node.js 中各种类型的 Cloud Datastore 查询
Google Cloud Datastore query by all kinds in node.js
在 Google Cloud Console 中使用 GQL 我可以做到这一点。
SELECT __key__
这将 return 来自当前命名空间的所有类型的所有键。用例之一是删除租户。只要里面没有记录,Tenant 就不会存在。
我无法通过 google 云客户端库从 node.js 执行此操作,因为函数似乎不支持该功能。
db.createQuery("5630110493310976", undefined).select("__key__");
一件有趣的事。这将起作用并将 return 来自所有租户的所有实体。
db.createQuery().select("__key__");
我错过了什么?
我知道,我可以通过使用 __kind__ 查询来绕过它,抓住所有类型并通过它们,但是,我首先寻找更优雅的方式。
发现问题。我在另一个不存在此类名称空间的项目下启动了此查询。因此我认为结果是错误的并且数据存储或客户端库不支持它。
因此,从单个命名空间获取所有类型的所有实体的正确方法是。
db.createQuery("5630110493310976", undefined).select("__key__");
并从所有命名空间中获取所有实体
db.createQuery().select("__key__");
在 Google Cloud Console 中使用 GQL 我可以做到这一点。
SELECT __key__
这将 return 来自当前命名空间的所有类型的所有键。用例之一是删除租户。只要里面没有记录,Tenant 就不会存在。 我无法通过 google 云客户端库从 node.js 执行此操作,因为函数似乎不支持该功能。
db.createQuery("5630110493310976", undefined).select("__key__");
一件有趣的事。这将起作用并将 return 来自所有租户的所有实体。
db.createQuery().select("__key__");
我错过了什么?
我知道,我可以通过使用 __kind__ 查询来绕过它,抓住所有类型并通过它们,但是,我首先寻找更优雅的方式。
发现问题。我在另一个不存在此类名称空间的项目下启动了此查询。因此我认为结果是错误的并且数据存储或客户端库不支持它。 因此,从单个命名空间获取所有类型的所有实体的正确方法是。
db.createQuery("5630110493310976", undefined).select("__key__");
并从所有命名空间中获取所有实体
db.createQuery().select("__key__");