web-dev-qa-db-ja.com

Realm.objects()は、React Nativeで空のオブジェクトを返します

React Native(Androidでのテスト))でRealmデータベースをテストしていますが、データの取得で問題が発生しています。

この関数を使用してserを永続化しました。

insertData = async (data) => {
        await Realm.open({schema: [UserSchema]})
            .then( realm => {
                realm.write(()=>{
                    realm.create('User', {id: '1325487', nickname: "Jack", age: 21});
                })

                realm.close();
            })
            .catch(error => {
                console.log(error);
            });

    }

私はこれを使ってデータを取得しようとしています:

findAll = () => {
        Realm.open({schema: [UserSchema]})
            .then( realm => {
                let users = realm.objects('User')
                console.log(users)

            }).catch(error => {
                console.log(error);
            })
    }

そしてそれが私が得たもの、空のオブジェクトの配列です:

{"0": {}, "1": {}, "10": {}, "11": {}, "12": {}, "13": {}, 
"14": {}, "15": {}, "16": {}, "17": {}, "18": {}, "19": {}, "2": 
{}, "20": {}, "21": {}, "22": {}, "23": {}, "24": {}, "25": {}, "26": {}, "27": {}, "28": {}, "29": {}, "3": {}, "30": {}, "31": {}, "32": {}, "33": {}, "34": {}, "35": {}, "36": {}, "37": {}, "38": {}, "39": {}, "4": {}, "5": {}, "6": {}, "7": {}, "8": {}, "9": {}}

これはユーザースキーマです:

const UserSchema = {
    name: 'User',
    properties: {
        id:         'string',
        nickname:   'string',
        age:        'int'
    }
}

さまざまなユーザーを保存してフィルターを使用すると、結果の量が異なるため、データは永続化されていると思います。空のオブジェクトだけが来る理由がわかりますか?または、レルムデータベースにあるものを確認するにはどうすればよいですか。

3
Téo Ribeiro

レルム5.0.2または5.0.1を使用していますか?
気になった場合は、レルムjs 5.0.2にバグがあります https://github.com/realm/realm-js/releases/tag/v5.0.

レルムをバージョン5.0.3に更新すると、機能するはずです。

0
CR7