私はember.jsとfirebaseが初めてです。定義された値に一致するキーについてDBにクエリを実行する必要があるものを作成しようとしています。
guides.emberjs.comによると、次の例が機能するはずです。
this.store.query('person', { filter: { name: 'Peter' } }).then(function(peters) {
// Do something with `peters`
});
しかし、そうではありません。どうやら私はemberfireアドオンを使用しているためです。文字通り何時間ものグーグル検索の後、明確な解決策はありませんでした。
emberfireのドキュメントでは、利用可能な引数について説明しています。
引数
orderBy -文字列- プロパティ ...
.
.
.equalTo - String、Number、Null - 指定された値に一致する子を含むクエリを作成します。
そして例を挙げて...
// app/routes/dinosaurs.js
export default Ember.Route.extend({
model: function() {
return this.store.find('dinosaur', {
orderBy: 'height',
limitToLast: 10,
startAt: 5
});
}
});
ただし、「equalTo」の使用方法は示していません。私はそれらすべてをテストしましたが、どのようにequalTo
機能するかを理解できませんでした。
SOにはこれに関する他の解決策がありますが、それらはすべてv2.0.0より前のものです。したがって、v2.0.0以降は機能しないと思います。
Ember.js デバッグ情報:
DEBUG: -------------------------------
DEBUG: Ember : 2.0.0
DEBUG: Ember Data : 2.0.0
DEBUG: Firebase : 2.3.1
DEBUG: EmberFire : 1.6.0
DEBUG: jQuery : 1.11.3
DEBUG: -------------------------------
使用中のデータベース: https://shoutoutdb.firebaseio.com/users
ここで equalTo がどのように機能するかは完全にはわかりませんが、手がかりも得られません。うまくいけば、誰かが喜んで助けてくれるでしょう。
質問に何らかの改善が必要だと思われる場合は、親切に尋ねてください。思った通りに詳しく書いてあります。
前もって感謝します。:)
編集:私が使用しようとしたコード:
$E.store.find('user',{name:'Alpha'}).then(
function (data) {
//stuff done with the data
}
);
また、このコードについて複数の異なるバージョンを試しました。何も機能しなかったので、ここで言及する価値さえないと思います。