2016-03-22 39 views
2

Soru Diyar Yerli iki yönlü ebeveyn-çocuk iç içe ilişkilerde bağlama ile gerçekleştirmek React nasıldırİç içe nesneler Tepki-Yerli

?

Örnek I InvoiceLines oluşan bir fatura nesne vardır. Eski veritabanında, InvoiceLine tablosundaki her satırın ana Fatura Kimliği'ne bir başvurusu vardı. . ID = "sorgusu onun Faturaya bir InvoiceLine veya InvoiceLines tümüne bir Fatura birinden almak için

Diyar, ben şu şemayı geçireceğim NEREDE' Yani basit (aktarılan):

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

class InvoiceLine {}; 
InvoiceLine.schema = { 
    name: 'InvoiceLine', 
    properties: { 
    ... 
    invoice: 'Invoice', 
    } 
} 
? bir bellek değiş tokuş bu bağlantıların hepsi orada saklamak için bu doğrudan bağlama performansı kimlikleri kullanarak ve Diyar içinde bunu geleneksel şekilde yaparak farklı olan yönleri nelerdir nasıl

mi ?

+0

"Fatura" özelliğini bir "Fatura" nesnesi olarak saklamanız ilginç. Ebeveyn nesnelerinin kaydını tutmak için 'invoiceId' kullanıyorum. Bir 'Fatura Hattı' kaydı oluşturduğunuzda, '{..., fatura: realmInvoice, ...} 'kullanıyor musunuz? Ve myInvoiceLine.invoice'yi çağırırken, Realm DB'den güncel "Fatura" kaydını mı alıyor? –

+0

FYI, işte bu özelliği izlemek için Realm JS 'Github Sorunları link: https://github.com/realm/realm-js/issues/343 –

+0

"Bir InvoiceLine kaydı oluşturduğunuzda, {... , fatura: realmInvoice, ...}? " - Doğru. "Ve myInvoiceLine.invoice çağrılırken, Realm DB'den güncel Fatura kaydını alır mı?" - Henüz ebeveynleri kullanan bir şey almamalı, ama umuyoruz! Sorunların var mı? – edmofro

cevap

1

hemen hemen aynı ya da daha iyi bir performans bağlantıları kullanarak ID'leri çoğu durumda kullanarak, aşağıdaki linkler ID'ye bakmaktan çok daha hızlı olacaktır. nesneleri silerken var. Ebeveyn sınıfının örneklerini silerken, silinmiş ebeveyne işaret eden tüm alt bağlantılar null olarak ayarlanır. Muhtemelen zaten yapmak istediğin bir şey. Çocuk nesnelerini silerken bazen güncellenmesi gereken bazı dahili defter tutma vardır, ancak bu genellikle algılanamayacak kadar hızlıdır.