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

问题描述 投票:0回答:1

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

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

javascript html firebase google-cloud-firestore
1个回答
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
    });
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.