2017-08-02 3 views
1

インデックスを使用してローカルテーブルをクエリしようとしていますが、値が存在し、データがあっても常にデータを返しません。 Azureモバイルアプリクライアントjsのインデックスを持つローカルクエリを生成する正しい構文は何ですか。azure-query.js indexofクエリが機能しない

(indexof(name, '" + filterObject.searchString + "') ne -1) 

これは私が使用する文字列ジェネレータです。エラーを返しませんが、値も返しません。

複数のテストの後、サーバでプル/プッシュデータ用のライブラリのみを使用し、sqliteを使用してローカルテーブルをクエリすることにしました。

答えて

1

Javascript Clients for Azure Mobile Appsを使用しているので、次のコードを試してindexOfの機能を持つテーブルに問い合わせてください。

var table = client.getTable('tableName'); 
table.where(function(startsWith) { 
    return this.name.indexOf(startsWith) === 0; 
}, filterObject.searchString).read().then(function(results) { 
    console.log(results); 
}, function(error) { 
    throw new Error('Error loading data: ', error); 
}); 
+0

しかし、これは、ローカルテーブルではなくサーバーテーブルを照会することです。 –

+0

ODataクエリ文字列をエンコードする必要があります。質問に対するShrirangのコメント:[azure-mobile-apps-js-clientの部分文字列の使い方]を参照してください(https://stackoverflow.com/questions/41076143/how-to-use-substringof-in-azure-mobile- apps-js-client/41111736#41111736)。 –