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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }
});

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

答案

您收到错误的原因是因为返回的值不是数组是一个对象,其中有一个方法来迭代数据库中的文档

let query = roomsRef.where("filled", "==", false).get().then(function(snap){
  snap.forEach(doc){
    roomId = doc.id;
    roomsRef.doc(roomId).update({
        filled: true,
        user2: username
    });
  }
});

以上是关于Cloud Firestore:查询找不到文档但文档存在的主要内容,如果未能解决你的问题,请参考以下文章

Android Cloud Firestore:查询以查找用户名

新的“Cloud Firestore”是不是能够基于位置距离进行查询?

在 `.symlinks/plugins/cloud_firestore/ios` 中找不到 `cloud_firestore` 的 podspec

致命错误:找不到模块“cloud_firestore”

Flutter on IOS:致命错误:找不到模块“cloud_firestore”

Flutter (iOS) - 在 GeneratedPluginRegistrant.m 中找不到模块“cloud_firestore”