【问题标题】:Querying a repeated property by count in NDB在 NDB 中按计数查询重复的属性
【发布时间】:2012-07-20 14:56:04
【问题描述】:

NDB 中是否有一个有效的机制可以通过重复属性中的项目数进行查询?

我想做这样的事情:

Class.query(class.repeated_property.count == 2)

但这当然行不通。

【问题讨论】:

    标签: google-app-engine app-engine-ndb


    【解决方案1】:

    具体可以使用ComputedProperty自动存储计数,例如

    class X(ndb.Model):
      prop = ndb.StringProperty(repeated=True)
      prop_count = ndb.ComputedProperty(lambda e: len(e.prop))
    
    X.query(X.prop_count == 2)
    

    【讨论】:

      【解决方案2】:

      GQL 中没有 len 查询语义,您需要有一个单独的属性来表示列表的长度并对其进行查询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 2012-12-26
        相关资源
        最近更新 更多