如果我有一个简单的集合,比如:
Fruits:
Banana:
title: "Banana"
vitamins: ["potassium","B6","C"]
Apple:
title: "Apple"
vitamins: ["A","B6","C"]
如果我想搜索含有维生素B6的水果,我会执行以下操作:
db.collection("Fruits").whereField("vitamins", arrayContains: "A").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
print("\(document.documentID) => \(document.data())")
}
}
}
那将展示我收藏的所有含有维生素A的水果。然而,如果我想搜索含有多种维生素的水果,比如维生素B6和C,该怎么办?我不能简单地搜索["B6","C"]
,因为它会寻找一个数组而不是独立的字符串。
在Cloud Firestore中是否可能实现呢?如果不行,是否有任何替代方法?