web-dev-qa-db-ja.com

ドキュメントIDについてFirestoreデータベースをクエリする

ドキュメントIDをFirestoreデータベースに照会したい。現在、私は次のコードを持っています:

db.collection('books').where('id', '==', 'fK3ddutEpD2qQqRMXNW5').get()

結果が出ません。しかし、別のフィールドを照会すると動作します:

db.collection('books').where('genre', '==', 'biography').get()

ドキュメントIDの名前はどのように呼び出されますか?

17
Lucas Hild

これを試して:

db.collection('books').doc('fK3ddutEpD2qQqRMXNW5').get()

(最初のクエリは、 'id'と呼ばれる明示的なユーザー設定フィールドを探していますが、これはおそらく望んでいないものです。)

19
Todd Kerpelman

私は少し遅れていますが、実際にこれを行う方法があります

db.collection('books').where(firebase.firestore.FieldPath.documentId(), '==', 'fK3ddutEpD2qQqRMXNW5').get()

これは、firebaseセキュリティルールを処理していて、アクセスが許可されているレコードのみを照会する場合に役立ちます。

32
firebase.firestore().collection("Your collection").doc(documentId).get().then( (docRef ) => {    
      console.log(doc.data())          
    }).catch( (error) => { })
3
Venkat