【问题标题】:When doing a non ancestor query with a sort by key, will my result be ordered by entity groups?使用按键排序进行非祖先查询时,我的结果会按实体组排序吗?
【发布时间】:2013-01-13 21:37:45
【问题描述】:

我需要更改大量属于不同实体组的实体。 如果我进行非祖先查询,按键排序,例如:

Query query = new Query( "Kind" )
                      .setFilter( ... )
                      .addSort( Entity.KEY_RESERVED_PROPERTY, ASC or DESC );

我是否总是得到按实体组排序的结果?我打算遍历 结果直到父(或祖父)键更改,并为同一组中的所有实体创建单个事务 - 以避免争用。

这会按预期工作吗?还有什么建议吗?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    是的。按键排序按祖先列表中的每个实体对它们进行排序 - 例如,首先按根实体,然后按其子实体,依此类推。

    【讨论】:

      【解决方案2】:

      Kindles Queries 或 Ancestor Queries 只能按 KEY 排序。

      您正在按键排序,这没关系。

      key 是 PARENT+KIND+ID 的结果

      每个种类的密钥都是密钥的一部分。因此,您的所有结果都将按种类排序,然后按关键字排序。

      来自GAE KEYS

      每个模型实例都有一个标识键,其中包括 实例的实体类型以及唯一标识符。标识符 可以是键名字符串,由 创建实例时的应用程序,或整数数字 ID, 写入实例时由 App Engine 自动分配 (put) 到数据存储区。

      【讨论】:

        猜你喜欢
        • 2011-08-10
        • 2017-10-27
        • 1970-01-01
        • 2011-09-28
        • 2015-11-06
        • 1970-01-01
        • 2020-01-06
        • 2018-07-25
        • 2013-10-13
        相关资源
        最近更新 更多