2017-12-31 67 views
0

私はゲームで作業しています。私はルームシステムを作成しようとしています。私は、満たされていない部屋を照会しようとしており、ユーザーが最初の部屋に参加するようにしています。問題は、 "filled" == falseのドキュメントをクエリしていることです。私のデータベースには1つありますが、それは見つけられません。クラウドFirestore:クエリはドキュメントを見つけられませんがドキュメントがあります

let query = roomsRef.where("filled","==","false").get().then(function(snap){ 
    console.log(snap.size); 
    if(snap.docs[0].data()){ 
     roomId = snap.docs[0].id; 
     roomsRef.doc(roomId).update({ 
      filled: true, 
      user2: username 
     }); 
     return; 
    } 
}); 

上記のコードは、「未定義のプロパティのデータを読み取れません」というコードを返しています。返された値が配列 ではないので

答えて

1

あなたがエラーを取得している理由は、私はあなたのコードをテストし、問題があることだったあなたのデシベル

let query = roomsRef.where("filled", "==", false).get().then(function(snap){ 
    snap.forEach(doc){ 
    roomId = doc.id; 
    roomsRef.doc(roomId).update({ 
     filled: true, 
     user2: username 
    }); 
    } 
}); 
+0

から文書を反復処理するメソッドを持つオブジェクトであります私は真偽をブール値ではなく文字列としてチェックしていました。 –

関連する問題