ruby-on-rails - 如何为查询定义命名空间

标签 ruby-on-rails ruby google-cloud-datastore google-cloud-platform

我在我的 Google Cloud Datastore 中使用了多个命名空间

运行时:

 require "google/cloud/datastore"

 project_id = "PROJECT_ID"
 datastore = Google::Cloud::Datastore.new project: project_id
 ...
 query = Google::Cloud::Datastore::Query.new
 query.kind "Task"
 tasks = datastore.run query

它只从“默认”命名空间中检索实体

例如,在 Python 中,您可以这样定义命名空间:

dataclient = datastore.Client("PROJECT_ID", "NAMESPACE")

但是我找不到用 Ruby 做的方法。而且我也没有在资源中找到任何有用的东西。

最佳答案

我已经就此询问过 Google,他们已向我发送了一个示例:

# Datastore service client
datastore = Google::Cloud::Datastore.new

# Create a new entry with a namespace
entry = datastore.entity "kind", namespace: "test-namespace" do |entry|
  entry["name"]  = "YOURNAME"
end

# Save in datastore
datastore.save entry

# Query a namespaced entry
query = Google::Cloud::Datastore::Query.new
query.kind "kind"
datastore.run query, namespace: "test-namespace"

关于ruby-on-rails - 如何为查询定义命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43003157/

相关文章:

mysql - Join 在 Rails 控制台中有效,但在 View 中无效

java - 在 AppEngine 中安全处理并发 Memcache 更新

ruby-on-rails - Rails - 未定义的方法 `stringify_keys'

ruby-on-rails - Rails 强参数 - 接受 virtual 属性

ruby-on-rails - 如何注释rails html.erb 文件中的行?

ruby - IRB 内部 ri 的未定义方法

arrays - 将字符串添加到嵌套在哈希内部的数组中

mysql - 如何配置 Rails 以实现对远程数据库的无密码访问

google-app-engine - 如何将 com.google.appengine.api.datastore.Entity 转换为我的实体对象?

java - 如何使用 Java 查询数据存储以获取子对象并比较它们的属性?