繁体   English   中英

如何在Firebase中的特定文档中查询

[英]How to query in a specific document in Firebase

我有一些代码可以获取对用户集合的集合引用,然后查询一个动漫ID 字段是否包含某个值。 我想更改它,并且只在带有我通过的 id 的文档内查询。 因此,如果您查看我的 Firestore 的图片,您会发现我在用户集合中有两个文档,每个文档都有其唯一 ID。 我只想在我想要的文档中查询animeID 字段。 并非所有文件都像现在这样。 我将如何 go 这样做? 我曾尝试使用 doc,然后传入文档的 id,但我认为查询不适用于 doc,因为它给了我一个错误。 谢谢

const docRef = collection(db, 'users')
  const q = query(docRef, where('animeID', 'array-contains', parseInt(id)))
  onSnapshot(q, (snapshot) => {
    let results = []
    snapshot.docs.forEach((doc) => {
      results.push({...doc.data(), id: doc.id})
    })
    if(results.length > 0){
      console.log(true)
    }
    else{
      console.log(false)
    }
  }, (error) => {
    console.log(error)
  })

火库结构:

在此处输入图像描述

您需要按照文档中的说明进行操作:

import { doc, getDoc } from "firebase/firestore";

const docRef = doc(db, "users", "dbmbEiR6....");
const docSnap = await getDoc(docRef);

if (docSnap.exists()) {
  const animeID = docSnap.data().animeID;
  // Do whatever you want with animeID
  // E.g. log its value:
  console.log(JSON.stringify(animeID));
} else {
  // doc.data() will be undefined in this case
  console.log("No such document!");
}

所以在这种情况下你不需要声明一个Query 只需声明一个DocumentReference并使用getDoc()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM