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