【问题标题】:Use ndb IN operator in query在查询中使用 ndb IN 运算符
【发布时间】:2020-01-02 17:16:58
【问题描述】:

是否可以以某种方式使用 ndb 运算符“IN”,以便在模型的数组中搜索值?

例如

foo_1.array_of_values = ["item1", "item2"]
foo_1.put()

我想查询如下:

Foo.query("item2" in Foo.array_of_values)

那么,这可能吗?有什么解决方法吗?

我不想获取所有实体然后自己过滤它们。

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore app-engine-ndb


    【解决方案1】:

    假设array_of_valuesndb.StringProperty(repeated=True),那么常规的相等过滤器就可以解决问题Foo.query(Foo.array_of_values == "item2")

    https://cloud.google.com/appengine/docs/standard/python/ndb/queries#repeated_properties

    【讨论】:

    • 谢谢!我不敢相信我在检查文档时错过了这一点:(
    猜你喜欢
    • 2016-04-09
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多