领域:记录顺序已更改

Posted

技术标签:

【中文标题】领域:记录顺序已更改【英文标题】:Realm: Order of records was changed 【发布时间】:2016-09-25 15:13:31 【问题描述】:

我正在尝试使用Realm database 开发我的android 应用程序。

今天我遇到了以下问题: 我在表中添加了一个记录列表,然后尝试删除其中一个。 删除后其余的顺序发生了变化(与删除前的顺序不同)。 请参阅下面的图片以查看详细信息。

删除前

删除第三条后

问题是:这是功能还是错误?以及如何保持记录顺序?

我知道我可以很容易地通过添加一个新字段作为 createTime 或类似的东西来获得正确的顺序,但我想找到一个非常简单的解决方案来为 Realm 配置一些东西。

【问题讨论】:

【参考方案1】:

默认情况下,Realm 中的项目不排序,因此您应该将任何查询结果视为无序集,除非您明确对其进行排序。

一般情况下,这些物品会按照您插入它们的顺序出现,但这不是保证。技术原因的根本原因是我们压缩磁盘上的数据,所以如果您删除列表中间的项目,最后一个项目将被移动到它的位置。

所以答案是:它按预期工作,如果您希望对结果进行排序,则应使用排序方法。

【讨论】:

以上是关于领域:记录顺序已更改的主要内容,如果未能解决你的问题,请参考以下文章

领域中每个对象的领域对象通知

没有 CQRS 的领域事件和版本控制

领域查询顺序是不是一致?

区块链区块链核心技术在供应链领域的应用

案例篇:Python爬虫的多重领域使用

案例篇:Python爬虫的多重领域使用