我正在开发游戏,我正在尝试创建一个房间系统。我正在尝试查询未填充的房间,并让用户加入第一个房间。问题是我正在查询“填充”== false的文档。我的数据库中有一个,但它找不到它。
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;
}
});
上面的代码返回“无法读取未定义的属性'数据'。
答案 0 :(得分:1)
您收到错误的原因是返回的值不是数组 是一个对象,有一个迭代来自db
的文档的方法let query = roomsRef.where("filled", "==", false).get().then(function(snap){
snap.forEach(doc){
roomId = doc.id;
roomsRef.doc(roomId).update({
filled: true,
user2: username
});
}
});