【问题标题】:Does allocate_ids always returns positive values?allocate_ids 是否总是返回正值?
【发布时间】:2013-02-26 22:51:27
【问题描述】:

allocate_ids 函数是否总是返回正值? 或者它有时会返回负值或零值吗?

【问题讨论】:

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


    【解决方案1】:

    在一个名为Stephen 的谷歌群组评论中,有人提到db.model

    ID 是 64 位正整数。 如果您为名为“序列”的实体分配 ID,则可以使用它们 对于任何其他实体类型,包括具有父母的实体 否则,如果自动分配,则使用唯一范围。来自“序列”的 ID 在您的数据存储中是唯一的,它是 要求 ID 是每个实体组唯一的。但是,您必须 然后总是使用序列中的 ID,并且永远不允许自动分配。

    他似乎知道他在说什么。我找不到另一个对 Datastore 的自动 ID 序列生成器的引用,但是在这个类似的 question 中,allocateids 的 java 定义被链接到它,它说它可以抛出这个错误:

    java.lang.IllegalArgumentException - 如果 parent 不是完整的键,如果 num 小于 1,或者如果 num 大于 10 亿。

    【讨论】:

    • 嗨,保罗。感谢您提供有用的参考。我知道它不应该返回负数或零数。
    • 第二个引用脱离了上下文 - 它不是指 ID,而是指指定 fn 应该返回多少个 ID 的参数。另请注意,生成的 ID 现在限制为 53 位,以便与 js 整数一起使用。
    猜你喜欢
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多