首页  >  文章  >  后端开发  >  以下是一些标题选项,结合问答格式,重点关注问题和解决方案: 直接、简洁: * 如何在 Google App Engine Datastore (Go) 中通过 ID 数组进行查询? * 数据存储Q

以下是一些标题选项,结合问答格式,重点关注问题和解决方案: 直接、简洁: * 如何在 Google App Engine Datastore (Go) 中通过 ID 数组进行查询? * 数据存储Q

Linda Hamilton
Linda Hamilton原创
2024-10-27 05:50:29781浏览

Here are a few title options, combining the Q&A format with a focus on the problem and solution:

Direct and Concise:

* How to Query by ID Array in Google App Engine Datastore (Go)?
* Datastore Queries with ID Arrays: Workarounds for

通过 Go 在 Google App Engine 数据存储区中使用“IN Array”查询

通过 ID 数组查询

问:如何在包含 ID 数组的数据存储上执行查询?

答:数据存储本身不支持“IN”查询。

多个查询

解决方法是对 ID 数组中的每个元素执行单独的查询。或者,如果 ID 在连续范围内,您可以使用“>=”和“<=”运算符:

<code class="go">ids := []int64{1, 2, 3, 4}
q := datastore.NewQuery("Category").Filter("Id>=", 1).Filter("Id<=", 4)</p>
<p><strong>GetMulti</strong></p>
<p>对于实体键属性的查询,可以使用 datastore.GetMulti() 函数:</p>
<pre class="brush:php;toolbar:false"><code class="go">var keys []*datastore.Key

for _, id := range ids {
    keys = append(keys, datastore.NewKey(c, "Category", "", id, nil))
}

categories := make([]Category, len(keys))
err := datastore.GetMulti(c, keys, categories)</code>

Filter Behaviour

注意多个 Query.Filter()调用将导致过滤器之间形成 AND 连接。如果您期望使用 OR 连接,这可能会产生意外结果。确保存储返回的查询并将其用作后续过滤器的基础:

<code class="go">q := q.Filter("Id=", id)</code>

以上是以下是一些标题选项,结合问答格式,重点关注问题和解决方案: 直接、简洁: * 如何在 Google App Engine Datastore (Go) 中通过 ID 数组进行查询? * 数据存储Q的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn