React native 域中的嵌套对象会反应为本机
问题 Realm React Native在父子嵌套关系中如何执行双向链接 示例 我有一个发票对象,它由发票行组成。在旧数据库中,InvoiceLine表中的每一行都有一个对其父发票ID的引用。因此,可以使用一个简单的“WHERE ID=”查询从InvoiceLine到其发票或从发票到其所有发票行 在Realm中,我将使用以下模式(意译):React native 域中的嵌套对象会反应为本机,react-native,realm,React Native,Realm,问题 Realm React Native在父子嵌套关系中如何执行双向链接 示例 我有一个发票对象,它由发票行组成。在旧数据库中,InvoiceLine表中的每一行都有一个对其父发票ID的引用。因此,可以使用一个简单的“WHERE ID=”查询从InvoiceLine到其发票或从发票到其所有发票行 在Realm中,我将使用以下模式(意译): 这种直接链接的性能与使用ID并在领域内以传统方式进行比较如何?存储所有这些链接是否存在内存折衷?在大多数情况下,使用链接的性能应该与使用ID的性能几乎相同或
这种直接链接的性能与使用ID并在领域内以传统方式进行比较如何?存储所有这些链接是否存在内存折衷?在大多数情况下,使用链接的性能应该与使用ID的性能几乎相同或更好。以下链接将比使用ID查找快得多。唯一的性能是当删除对象时,您会遇到一个麻烦。当删除父类的实例时,指向已删除父类的所有子链接都设置为
null
。这可能是您无论如何都想做的事情。当删除子对象时,有时需要更新一些内部簿记,但这通常是快速的虽然不易察觉。有趣的是,您将发票
属性存储为发票
对象。我一直在使用发票ID
跟踪父对象。当您创建发票行
记录时,是否使用{…,发票:realmInvoice,…}
?当调用myInvoiceLine.invoice
时,它是否从域数据库获取最新的invoice
记录?仅供参考,以下是域JS的Github中跟踪此功能的链接:“当您创建InvoiceLine记录时,是否使用{…,invoice:realmInvoice,}?”-没错。”调用myInvoiceLine.invoice时,它是否从域数据库获取最新的发票记录?“-还没有一点使用家长,但希望如此!你有问题吗?很好。现在还没有问题,只是在使用ID更新代码到使用对象链接之前感觉一下而已。它没有很好的记录,所以你必须做出很多假设。谢谢
class Invoice {};
Invoice.schema = {
name: 'Invoice',
properties: {
...
lines: {type: 'list', objectType: 'InvoiceLine'}
}
}
class InvoiceLine {};
InvoiceLine.schema = {
name: 'InvoiceLine',
properties: {
...
invoice: 'Invoice',
}
}