【问题标题】:Is there a way to query google datastore like the CONTAINS filter in GQL?有没有办法像 GQL 中的 CONTAINS 过滤器一样查询谷歌数据存储?
【发布时间】:2019-09-28 08:45:21
【问题描述】:

假设您有 2 个具有列表字段的相同类型的实体 两个实体中的 List 字段如下: 第一个实体具有“a”和“b”等元素 第二个实体只有一个元素“a”, 所以“a”对两个实体都是通用的

当查询我只想要第二个实体时,有没有办法实现它?

【问题讨论】:

    标签: google-cloud-datastore objectify gql


    【解决方案1】:

    是的。如果它在一个数组中。

    假设你的json 是这样的

    const v1 = {id: 1, list: ['c', 'a', 'd']})
    const v2 = {id: 2, list: ['a','s', 'e']})
    

    如果您查询list='a',数据存储区将返回这两个元素。

    【讨论】:

    • 是的,它会返回两者,但是有没有办法在查询 list='a' 时单独获取 v2?
    • 是的,您设置了 limit=1,按 ID 对后代进行排序,您就可以开始了。
    • 让我这样问你,我有多个实体,其中一些的列表字段为 ["a","b","c"],其他的列表字段为 ["a, "b"]。所以在查询时,我想要所有具有 ["a","b"] 的实体,我不想要具有 ["a","b","c"] 的实体跨度>
    • 没有。但是您始终可以保存一个额外的合成索引私有字段,其中包含您要查找的内容,例如索引“notc”字段并对其进行过滤。
    • 您可以使用 list='a' 和 list='b' 但不存在不等式 ""。所以为了得到你想要的,使用 list='a' 和 list='b',并丢弃服务器内存中不需要的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2015-01-27
    • 2020-04-09
    • 1970-01-01
    • 2011-10-03
    相关资源
    最近更新 更多