【问题标题】:google-cloud-python Is it possible for querying on a list property of an Entity?google-cloud-python 是否可以查询实体的列表属性?
【发布时间】:2020-05-12 16:06:57
【问题描述】:

我正在查看文档 (https://googleapis.dev/python/datastore/latest/queries.html),我不清楚是否可以运行一个查询来返回一个实体的所有成员,其中值存在于这些实体的 ListProperty 中。

示例:如果我有一个名为 Books 的实体和一个名为 tags 的字段,它是一个字符串列表,我是否可以在 Books.tags ListProperty 中使用 "fiction" 查询所有 Books ?

【问题讨论】:

  • 您能否澄清一下您是否还有其他具有“标签”属性的实体,例如电影?属性“标签”是否具有数组类型?您能否分享一张屏幕截图在 Cloud Console 中的外观?

标签: python google-cloud-datastore


【解决方案1】:

这与How to Query Google Cloud Datastore for array 相同。您只需要在标签上使用相等过滤器。例如。 tags = "Fiction".

【讨论】:

  • 如果他只需要过滤书籍,他需要部署复合索引,他正在询问如何在没有 GQL 的 python 中做到这一点。
【解决方案2】:

对于python,你可以这样做:

query = client.query(kind='KindName')
query.add_filter('tags', '=', 'fiction')

这将返回所有在标签 StringList 属性中具有“小说”的实体。

您可以获取更多信息和见解here

更新:

如果您只需要查询 Books 字段,则需要部署 composite indexes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    相关资源
    最近更新 更多