Javascript 使用可选键参数限制firebase equalTo查询

Javascript 使用可选键参数限制firebase equalTo查询,javascript,firebase,firebase-realtime-database,angularfire,angularfire2,Javascript,Firebase,Firebase Realtime Database,Angularfire,Angularfire2,我有一种感觉,我可能是在SQL背景下错误地理解了这个特性。文档很少,我还没有找到一个好的例子或解释。 我希望得到以下方面的澄清: 1 Firebase SDK支持startAt的可选关键参数, 按子级、值或优先级排序时,endAt和equalTo。你可以 使用包含 价值和关键。例如:startAt:{value:'some value',key: '某个键'} 我想使用此可选键参数限制我的按时间戳排序的值查询(orderByChild),以将结果仅限于那些子键具有指定值的结果 this.angu

我有一种感觉,我可能是在SQL背景下错误地理解了这个特性。文档很少,我还没有找到一个好的例子或解释。 我希望得到以下方面的澄清:

1 Firebase SDK支持startAt的可选关键参数, 按子级、值或优先级排序时,endAt和equalTo。你可以 使用包含 价值和关键。例如:startAt:{value:'some value',key: '某个键'}

我想使用此可选键参数限制我的按时间戳排序的值查询(orderByChild),以将结果仅限于那些子键具有指定值的结果

this.angularFireDatabase.list('/items', {
  query: {
    orderByChild: 'uploadedOn_',
    equalTo: { key: 'user_uid', value: 'fSXX9twkttYqoS67mcRUmPawIep1' }
  }
});

// JSON 
{
  "items" : {
    "-KijNTXRKV5rjXEA7NdO" : {
      "uploadedOn_" : -1493296081615,
      "user_uid" : "fSXX9twkttYqoS67mcRUmPawIep1"
    },
    "-KijNoB4MivU4Ts6XgUV" : {
      "uploadedOn_" : -1493296169733,
      "user_uid" : "fSXX9twkttYqoS67mcRUmPawIep1"
    },
    "-KijbTMBydwQexbbErlk" : {
      "uploadedOn_" : -1493300012491,
      "user_uid" : "EAsIjLDFPRZDTq97qGQQyS7sBul1"
    }
  }
}
也许,我正试图模仿where SQL子句,而应该以不同的方式构造数据。 这个可选的
参数似乎只能是项目自己的键。 在我的示例中,它是常规自动生成的Firebase按键(例如,
“-KijNTXRKV5rjXEA7NdO”
)。
但是在这种情况下,如果结果总是一个单独的项目,您可以通过不使用可选的
参数来访问它,那么使用
equalTo
orderByChild
将是什么样的用例呢
它将给出与
ref.child(“key”)
相同的结果。
equalTo()
的第二个参数基本上是无用的(与
startAt()
endAt()
不同,后者可用于分割范围

另见: