質問: self.ncmb.DataStore(クラス名); Score.order("score", true) .include("name") .limit(10) .fetchAll() .then(function(results){ //取得データを画面に表示 } ``` 今度、データストアのクラスに持っている"createdate"を条件として絞り込みを行いたいのですが、 どのように記述すれば宜しいでしょうか? 取得にしたいのは、以下の2パターンです。 1 "createdate"が本日中のデータ 2 "createdate"が今月中のデータ リンクにある『基本的なクエリのオペランド』の欄を調べたんですが "createdate"の日付の形式が『yyyy-mm-ddT00:00:00.000+09:00』な事もあり、 具体的な方法が分からず質問させていただきました。 よろしくお願いします。
回答: `greaterThanOrEqualTo()` `>=` と `lessThanOrEqualTo()` `<=` で開始日時と終了日時を指定すれば抽出できます。 日時は「REST API リファレンス 5.1 日付」に記載されているとおりに設定します。 日時はmoment.jsを使用しています。 1本日中のデータの場合、`startOf()` `endOf()`で`"day"`を指定します。 2今月中のデータの場合、`"month"`を指定します。 ``` var Score = self.ncmb.DataStore(クラス名); var startDate = moment().startOf("day"); // 開始日時 var endDate = moment().endOf("day"); // 終了日時 Score.greaterThanOrEqualTo("createDate", { "__type": "Date", "iso": startDate.toISOString() }) .lessThanOrEqualTo("createDate", { "__type": "Date", "iso": endDate.toISOString() }) .order("score", true) .include("name") .limit(10) .fetchAll() .then(function(results) { //取得データを画面に表示 }); ```