Realm React-Native中的嵌套对象

时间:2016-03-22 00:05:16

标签: react-native realm

问题

Realm React Native如何通过父子嵌套关系中的双向链接执行?

示例

我有一个Invoice对象,它由InvoiceLines组成。在旧数据库中,InvoiceLine表中的每一行都有对其父Invoice ID的引用。所以一个简单的'WHERE ID =“查询从InvoiceLine到Invoice或Invoice到它的所有InvoiceLines。

在Realm中,我将采用以下架构(释义):

class Invoice {};
Invoice.schema = {
  name: 'Invoice',
  properties: {
    ...
    lines: {type: 'list', objectType: 'InvoiceLine'}
  }
}

class InvoiceLine {};
InvoiceLine.schema = {
  name: 'InvoiceLine',
  properties: {
    ...
    invoice: 'Invoice',
  }
}

这种直接链接的性能如何与使用ID进行比较并在Realm中以传统方式进行?存储所有这些链接是否存在内存权衡?

1 个答案:

答案 0 :(得分:1)

在大多数情况下,使用链接的性能几乎与使用ID相同或更好。以下链接比通过ID查找要快得多。您将获得的唯一性能是删除对象时。删除父类的实例时,指向已删除父项的所有子链接都将设置为null。无论如何,这可能是你想要做的事情。删除子对象时,有时需要更新一些内部簿记,但这通常足够快,难以察觉。

相关问题