【问题标题】:Cloud Firestore: Query does not find a document but document existsCloud Firestore:查询未找到文档但文档存在
【发布时间】:2017-12-31 11:27:49
【问题描述】:

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

上面的代码返回“Cannot read property 'data' of undefined”。

【问题讨论】:

    标签: javascript html firebase google-cloud-firestore


    【解决方案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
        });
      }
    });
    

    【讨论】:

    • 我测试了你的代码,问题是我检查的是字符串,而不是布尔值。
    猜你喜欢
    • 2023-03-17
    • 2021-05-11
    • 2019-09-03
    • 2018-12-20
    • 2021-08-12
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多