1
は、私は単純なクエリしようとしています:EqualToはFireBaseの文字列のみを検索するのはなぜですか?
@Input('jobId') id: number;
comments: FirebaseListObservable<any>;
this.comments = this.af.database.list('comments/jobComments', {
query: {
orderByChild: 'jobId',
equalTo: <number>this.id
}
}).map((array) => array.reverse()) as FirebaseListObservable<any[]>;
を、私は文字列であるいくつかのJOBID年代を持ち、残りは数字です。私はすぐにすべての数字にするつもりです。しかし何らかの理由で、これはjobIdが文字列としてフォーマットされた結果を返すだけで、jobIdが整数である人は返されません。
そのJOBIDがFireBaseでこのように見える場合は、上記のコードは、コメントだけを返して:
jobId: "1"
ではなく、この:
jobId: 1
を私は「数」タイプのエラー引数を取得するには、タイプ「文字列のパラメータに割り当て可能ではありません' this.idは実際には数字です。 – Jus10
それから、どこかで、実行時に実際に文字列が割り当てられている必要があります。 Firebaseが値 "1"と一致しているだけの場合'Number.parseInt(this.id as any、10)'に変更するか、実行時に文字列に設定されている場所とその理由を調べることができます。 – cartant
私はFireBaseに文字列として書き込むだけでなく、検索します。しかしそれは私が誓う数字だ – Jus10