2017-07-16 1 views
1

Ich habe einen Server synchronisiert Bereich, der gut funktioniert. Ich mag einen aditional lokalen Bereich hinzufügen lokal nur einige Elemente zu speichern:Realm: Kann ein lokaler Bereich vorhanden sein, während ein Server-synchronisierter Bereich verwendet wird?

this.userRealm = new Realm({ 
    path: 'userRealm.realm', 
    schema: [cgps_schema.DirectoryFavoritesSchema], 
    }); 

Dies nicht zu funktionieren scheint. Vielleicht ist es nicht beabsichtigt?

Wenn ich new Realm() aufruft, bevor ich versuche, mit meinem synchronisierten Bereich zu verbinden, erstellt es das Verzeichnis userRealm.realm.management und die Datei userRealm.realm.lock, aber nicht die Datei userRealm.realm. Wenn ich nach dem Verbinden mit meinem synchronisierten Bereich neues Realm() aufruft, erstellt es alle Dateien und funktioniert, aber wenn ich die App neu lade, löscht es userRealm.realm und erstellt ein neues, leeres.

+0

Wie öffnen Sie das synchronisierte Realm? Hat es denselben lokalen Pfad wie der unsynchrone? –

+0

Ich öffne es mit dem oben angegebenen Code, der einen alternativen Pfad vom Standardbereich bietet. – AdamG

+0

Es begann gerade aus heiterem Himmel zu arbeiten. – AdamG

Antwort

1

Sie sollten verschiedene path verwenden, wenn Sie verschiedene Realms öffnen. Hier ist ein Code, der 1 synchronisierten Realm und 1 unsynchronen Realm öffnet:

const Realm = require('realm'); 

const ItemSchema = {name: 'Item', properties: {id: 'int', name: 'string'}}; 

const unsynced = new Realm({ 
    path: 'unsynced.realm', 
    schema: [ItemSchema], 
}) 

Realm.Sync.User.register('http://localhost:9080', 'user1', 'pass1', (error, user) => { 
    const synced = new Realm({ 
     path: 'synced.realm', 
     schema: [ItemSchema], 
     sync: { 
      url: 'realm://localhost:9080/~/synced', 
      user: user, 
     }, 
    }) 
    synced.close(); 
    user.logout(); 
    unsynced.close(); 
}) 
+0

Mein Code funktioniert jetzt, nicht sicher, warum ich nichts wirklich geändert habe. Aber das ist der richtige Weg, um es richtig zu machen. – AdamG

Verwandte Themen