Node.js Firestore文档查询
所以我在firebase firestore中使用Node JS,我想在其中包含文档的集合中创建一个查询,每个文档都有相同的布局,map(random ID)>map(userID)>{name:“hello”}, 因此,我想在整个集合中进行搜索,以找到与搜索文本具有相同名称值的所有对象,这里是数据库的图像,有什么方法可以复合此查询? 谢谢Node.js Firestore文档查询,node.js,firebase,search,google-cloud-firestore,Node.js,Firebase,Search,Google Cloud Firestore,所以我在firebase firestore中使用Node JS,我想在其中包含文档的集合中创建一个查询,每个文档都有相同的布局,map(random ID)>map(userID)>{name:“hello”}, 因此,我想在整个集合中进行搜索,以找到与搜索文本具有相同名称值的所有对象,这里是数据库的图像,有什么方法可以复合此查询? 谢谢 您采用的方法的问题是,第二个随机ID是随机的,因此无法在单个查询中处理,因此我建议您为此目的更改该结构,如果您将结构更改为以下内容: Desks Colle
您采用的方法的问题是,第二个随机ID是随机的,因此无法在单个查询中处理,因此我建议您为此目的更改该结构,如果您将结构更改为以下内容:
Desks Collection
uid
mapContent subCollection
mapId
userId
color
name
这基本上是一样的,只以子集合的方式组织,您可以使用以下代码查询它:
var arrayOfMaps = [];
var docRef = db.collection("Desks");
docRef.get().then(function(querySnapshot) {
// In case you want to get only the mapContent document
querySnapshot.forEach(function(doc) {
arrayOfMaps.push(db.collection("Desks").doc(doc.id).collection("mapContent")
.where("name", "==", "Ikea").get());
});
// In case you want to get the whole desks document
querySnapshot.forEach(function(doc) {
var snapshot = db.collection("Desks").doc(doc.id).collection("mapContent")
.where("name", "==", "Ikea").get();
if (!snapshot.empty){
arrayOfMaps.push(doc);
}
});
})
不确定您希望我们如何处理您数据库的图像。我们不能用它来创建测试表或数据。我在问是否有一种方法可以做这个查询??谢谢老兄,你让我明白了结构应该更好的方法!