如何在ember.js 2.0.0中使用emberfire查询firebase数据库中所有名称为equalTo xyz的项目?

Jay*_*wal 6 ember.js firebase emberfire

我是ember.js和firebase的新手.我一直在尝试制作一些需要我查询数据库以获得与定义值匹配的键的东西.

根据guides.emberjs.com,以下示例应该有效:

this.store.query('person', { filter: { name: 'Peter' } }).then(function(peters) {
  // Do something with `peters`
});
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.显然是因为我正在使用emberfire插件.经过几个小时的谷歌搜索,没有明确的解决方案.

余烬文档说说可用参数.

参数

排序依据 - 字符串 -属性...
.
.
.

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
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

虽然没有展示如何使用'equalTo'.我已经测试了所有这些,但我不明白它是如何equalTo工作的.

关于此,还有其他解决方案,但它们都是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: -------------------------------
Run Code Online (Sandbox Code Playgroud)

正在使用的数据库:https://shoutoutdb.firebaseio.com/users

我不完全明白在这里应该如何工作,但我也没有得到任何线索.希望有人愿意提供帮助.

如果你认为这个问题需要任何改进,那么请问.我已经详细说明了,我认为应该这样做.
提前致谢.:)

编辑:我尝试使用的代码:

$E.store.find('user',{name:'Alpha'}).then(
    function (data) {
       //stuff done with the data
    }
);
Run Code Online (Sandbox Code Playgroud)

我还尝试了围绕此代码的多个不同版本.什么都没有用,所以我认为这里甚至不值得一提.

tst*_*rat 15

使用查询功能,您可以组合orderByChildequalTo获得所需的结果:

ref.child('people').orderByChild('name').equalTo('Peter').on('value', ...);
Run Code Online (Sandbox Code Playgroud)

有关equalToWeb API参考复杂查询的Web指南中有一个示例.

因此,在EmberFire中,这将转化为以下内容:

this.store.query('person', { orderBy: 'name', equalTo: 'Peter' });
Run Code Online (Sandbox Code Playgroud)