簡體   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