4

私は現在、Onsen UI + Cordova を使用してアプリに取り組んでおり、LokiJS をサーバーレス データベースとして使用しようとしています。LokiJS のドキュメントによると:

何も指定されていない場合、Loki はデフォルトの方法 (Node では fs、ブラウザーでは localStorage、cordova) を試みます。

データベースファイル *.json をファイルシステムに書き込めないということですか。SDカードまたは内部ストレージのどこかに?

4

2 に答える 2

6

save関数のドキュメントからわかるように、LokiJS を使用すると、使用しているデータベースを JSON ファイルとして永続化できます。

Loki コンストラクターで指定した永続化アダプターに従って、データベースを保存します。何も指定されていない場合、Loki はデフォルトのメソッド (Node の fs、ブラウザーの localStorage、および cordova) を試みます。

これは、既定で localStorage が cordova で使用され、ファイル システムに既に永続化されていることを意味します。

その後、Loki のload()関数を使用して特定の DB 名をロードできます。

これを明示的に行う必要はないことに注意してください。次のようにして Loki で新しい DB を作成できます。

var db = new loki('db_name.json', {
    autosave: true,
    autosaveInterval: 60 * 1000, //every 60 seconds
    autoload: true
});

autoloadとオプションを指定すればautosave自分で何も処理する必要がないので、cordovaではlocalStorageを使って自動的にデータを永続化します。

また、別のことをしたい場合、つまりlocalStorageを使用しない場合は、独自の Adapter を作成して、ファイル システムまたはサーバーまたはクラウド ストレージに保存することもできます。もちろん、これにはアダプターを作成する必要があります。Loki の gitHub で例を確認できます (これは jquery AJAX アダプターのサンプルです)。

編集: @Joe Minichino が指摘したように、Loki 用の既製の Cordova FS アダプターがあり、箱から出してすぐに動作するはずです。チェックしてください!

于 2015-08-07T10:10:48.180 に答える
2

このプラグインを使用して、ファイルシステムへの読み取り/書き込みアクセスを行うことができます。

于 2015-08-07T10:00:34.513 に答える