Cloud Firestore:查询找不到文档但文档存在

时间:2017-12-31 11:27:50

标签: javascript html firebase google-cloud-firestore

我正在开发游戏,我正在尝试创建一个房间系统。我正在尝试查询未填充的房间,并让用户加入第一个房间。问题是我正在查询“填充”== 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;
    }
});

上面的代码返回“无法读取未定义的属性'数据'。

1 个答案:

答案 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
    });
  }
});