2017-07-16 179 views
1

我有一個服務器同步領域,工作正常。我想在本地添加一個本地域以存儲一些項目:領域:使用服務器同步領域時,本地領域是否存在?

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

這似乎不起作用。也許它不是爲了?

如果在嘗試綁定到我的同步領域之前調用新的Realm(),它會創建userRealm.realm.management目錄和userRealm.realm.lock文件,但不會創建userRealm.realm文件。如果我在與我的同步域相連後調用新的Realm(),它將創建所有文件並運行,但是當我重新加載應用程序時,它會刪除userRealm.realm並創建一個新的空白文件。

+0

如何打開同步領域?它是否具有與未初始化路徑相同的本地路徑? –

+0

我用上面提供的代碼打開它,它提供了默認領域的替代路徑。 – AdamG

+0

它剛剛開始工作。 – AdamG

回答

1

打開不同的領域時,應該使用不同的path。以下是一些代碼,可以打開1個同步領域和1個不同領域:

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

我的代碼現在可以工作了,不知道爲什麼我沒有真正改變任何東西。但是,這是正確的方式來做到這一點,以便標記正確。 – AdamG