2

RegExを使用してみましたが、結果が返されませんでした。

function findRecord() {
  var db = ScriptDb.getMyDb();
  var toFind = /Quality/i;
  var results = db.query({companyName: toFind});
  while (results.hasNext()) {
    var result = results.next();
    Logger.log(Utilities.jsonStringify(result));
  }
}

私が見ることができることから、ScriptDbのquery()は文字列の完全一致のみを返します。

私が見ることができる唯一の方法は、データベース全体を返し、それを反復処理することです。部分一致をクエリする方法があることを本当に望んでいます。

4

3 に答える 3

2

match メソッドを使用して結果を反復してみてください

function testQuery() {      
  var db = ScriptDb.getMyDb();
  var results = db.query({});
  var start = new Date();
  while (results.hasNext()) {
  var result = results.next();
  if (result.companyName.match(/qual.*/i)){
  Logger.log(Utilities.jsonStringify(result));
   }
  }
  var endTime = new Date();
  Logger.log("time is " + (endTime.getTime() - start.getTime()) + "ms");
}
于 2012-08-14T16:18:26.800 に答える
1

ScriptDb は現在、文字列の部分一致をサポートしていません。データによっては、 anyOfメソッドを使用できる場合があります。

var results = db.query({
  companyName: db.anyOf(['Quality', 'quality'])
});
于 2012-07-30T19:12:30.273 に答える
0

それは不可能だと思います。イシュー トラッカーで「拡張リクエスト」を開くことができます。

ただし、使用状況によっては、データベースを別の方法で構造化した場合、たとえば、オブジェクトをデータベースに追加するときに、事前に設定したオブジェクトのある種の「タグ」カテゴリ プロパティを作成することで、目的を達成できる可能性があります。後で照会できます。

于 2012-07-28T03:13:26.690 に答える