我试图运行一个简单的查询,在其中我搜索一个在对象数组中包含一个值的文档。
例如,看看我的数据库结构:

我想运行一个类似于以下内容的查询:
db.collection('identites').where("partyMembers", "array-contains", {name: "John Travolta"})实现这一目标的正确方法是什么,甚至可以使用Firestore吗?
谢谢。
发布于 2022-05-01 00:11:37
如果您想从文档中的"partyMembers“数组中提取名称:"John”。您可以通过类似的方法来实现这一点,在这种方法中,您可以遍历文档中的所有数组以找到这个名称。
const [names, setNames] = React.useState([])
const readAllNames = async() => {
const snapshot = await firebase.firestore().collection('identites').doc(documentID).get()
const filterData = snapshot.data().question.map(val => val.name === "John Travolta" ? val : null)
setNames( filterData.filter(e=>e) );
}这种技术在perticular文档中使用,因为我们给了.doc(documentID)这种方法,您可以获得名称为"John“的所有数组的名称常量。
https://stackoverflow.com/questions/54081799
复制相似问题