web-dev-qa-db-ja.com

Firestore querysnapshotから特定のドキュメントデータを取得するにはどうすればよいですか?

関数でquerysnapshotを取得しました。そして、querysnapshot全体を別の関数(functionTwo)に持っていきたい。 functionTwoで、forEachなしのquerysnapshotで特定のドキュメントを取得したいと思います。特定のドキュメントは、ケースによって変更される可能性があります。

ref_serial_setting.get()
    .then(querysnapshot => {
      return functionTwo(querysnapshot)
    })
    .catch(err => {
      console.log('Error getting documents', err)
    })


let functionTwo = (querysnapshot) => {
  // getting value

  const dataKey_1 = "dataKey_1"

  // Tried 1
  const value = querysnapshot.doc(dataKey_1).data()

  // Tried 2
  const value = querysnapshot.document(dataKey_1).data()

  // Tried 3 (Put 'data_name': dataKey_1 in that doc)
  const value = querysnapshot.where('data_name', '==', dataKey_1).data()
}

結果は、これらすべての試みが機能ではないということです。

Querysnapshotから特定のドキュメントデータを取得するにはどうすればよいですか?

または

QuerysnapshotをJSONに変更する簡単な方法はありますか?

3
Mike Yan
let citiesRef = db.collection('cities');
let query = citiesRef.where('capital', '==', true).get()
  .then(snapshot => {
    if (snapshot.empty) {
      console.log('No matching documents.');
      return;
    }  

    snapshot.forEach(doc => {
      console.log(doc.id, '=>', doc.data());
    });
  })
  .catch(err => {
    console.log('Error getting documents', err);
  });

から https://firebase.google.com/docs/firestore/query-data/get-data

0
Muhammed Moussa