Ember 数据查询过滤不适用于 Firebase

Ember Data query filtering doesn't work with Firebase

假设我在 Firebase 数据库中有以下数据

{
  "carros" : {
    "-LAy3Qqrvq_sIhyLJQED" : {
      "añoFabricacion" : 1932,
      "marca" : "toyota",
      "nombre" : "nombre1"
    },
    "-LAy3r-Gm_NWW9_VkGR3" : {
      "añoFabricacion" : 1931,
      "marca" : "audi",
      "nombre" : "nombre2"
    },
    "-LAy3v9L2wecTDZqpok9" : {
      "añoFabricacion" : 1934,
      "marca" : "toyota",
      "nombre" : "nombre3"
    }
  }
}

我想在控制台中打印 "marca" 属性等于 "toyota" 的对象的属性 "nombre"。我写了一个控制器代码如下:

import Controller from '@ember/controller';

export default Controller.extend({
  actions: {
    mostrar() {
      this.get('store').query('carro', {
        filter: {
          marca: 'toyota'
        }
      }).then(function(carros) {
        carros.forEach(function(carro) {
          console.log(carro.get('nombre'));
        })
      });
    }
  }
});

而模型"carro.js"对应的代码是:

import DS from 'ember-data';

export default DS.Model.extend({
  nombre: DS.attr('string'),
  marca: DS.attr('string'),
  añoFabricacion: DS.attr('number')
});

问题是我获得了以下输出:

nombre1
nombre2
nombre3

但正确的输出必须是:

nombre1
nombre3

为什么会出现此错误?

基于此处的文档:https://www.learnhowtoprogram.com/ember-js/ember-extended/firebase-queries

看起来正确的查询如下:

import Controller from '@ember/controller';

export default Controller.extend({
  actions: {
    mostrar() {
      this.get('store').query('carro', {
        orderBy: 'marca'
        equalTo: 'toyota'
      }).then(function(carros) {
        carros.forEach(function(carro) {
          console.log(carro.get('nombre'));
        });
      });
    }
  }
});