App Engine Datastore:如何查询/过滤 return 实体计数的特定数组大小?

App engine Datastore : How make a query / filter that return entity count with specific array size?

我有一个具有不同属性的实体,属性 之一是对象数组,我正在 Java 使用 Objectify

现在我想使用过滤器查询 return 仅具有特定数组大小的所有实体的计数,E.g messages size=2

示例:

Kind: Request

和 属性 :

    name messeges 
        {
          "values": [
            {
              "K1": "V1",
              "K2": "V2"
            },
            {
              "K3": "V3",
              "K4": "V4"
            },
            {
              "K5": "V5",
              "K6": "V6"
            }
          ]
        }

类似于:

int count = ofy().load().type(Request.class).filter("?? return count , to query with messages size is 2..").count()

有什么建议吗?

无法对数据存储进行此类查询。

但是您可以向您的实体添加一个 属性,我们称它为 values_count,以反映 values 数组大小并对 属性 进行相等查询相反(例如 values_count=2

我将其设为计算 属性,每当实体更新时自动更新,参见