2017-01-06 2 views
3

私が使用してアプリケーションを開発していますが、ネイティブ反応「のみトランザクション内のオブジェクトを削除することができます。」レルム:私は、フィルタリングの方法で私を与える特定のオブジェクトを削除する必要がありますが、それは私にエラーを与えたところ、特定のオブジェクトを削除

と呼ばれますここで

は、それは私が呼ばれるエラー投げる私のコード

allObj1 = { 
       id : 1, 
       speed : "1", 
       accuracy: "100", 
       bearing: "1", 
       longitude: "192", 
       altitude: "1111", 
       latitude: "1111", 
       time: "11111", 
       locationProvider: "2222", 
      }; 

     allObj2 = { 
       id : 2, 
       speed : "1", 
       accuracy: "100", 
       bearing: "1", 
       longitude: "192", 
       altitude: "1111", 
       latitude: "1111", 
       time: "22222", 
       locationProvider: "2222", 
      }; 

     allObj3 = { 
       id : 3, 
       speed : "1", 
       accuracy: "100", 
       bearing: "1", 
       longitude: "192", 
       altitude: "1111", 
       latitude: "1111", 
       time: "333333", 
       locationProvider: "2222", 
      }; 

     realm.write(() => { 
      realm.create('Location',allObj1);   
      //realm.delete(firstObj); 
      realm.create('Location',allObj2); 
      realm.create('Location',allObj3); 
     });   

     let locationO = realm.objects('Location'); 
     //let tanlocation = locationO.filtered('id >1 AND id <3 '); 
     // Observe Collection Notifications   

     realm.objects('Location').filtered('id >=1 AND id <=3').addListener((tanlocation, changes) => { 

      try{ 
       tanlocation.forEach((realmObj,index) => {       
        realm.delete(realmObj);    
       }); 
      } 
      catch(err){ 
       console.log(err); 
      } 
     }); 


     // Unregister all listeners 
     realm.removeAllListeners(); 

     //realm.delete(tanlocation); 
     //console.log(tanlocation); 

     console.log(locationO); 

ある「専用トランザクション内のオブジェクトを削除することができます。」

誰もこの種の問題に直面していますか?誰でもこの機能を達成するためにこの方法または代替方法を修正する方法を知っている

答えて

1

realm.createのように、realm.writeに削除をラップする必要があります。

realm.write(() => { 
    realm.delete(realmObj) 
}) 

これは私がこの問題に遭遇したときに役に立ちました。これを読んだ後にのみ実現しますGithub comment

+0

はい正しい削除と更新操作は両方ともwrite()メソッドで動作します。 –

関連する問題