Если у меня есть простая коллекция, например:
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())")
}
}
}
И этопокажет мне все фрукты в моей коллекции, которые содержат витамин А. Однако как мне найти фрукты, содержащие несколько витаминов, скажем, витамины В6 и С?Я не могу просто выполнить поиск ["B6","C"]
, так как он будет искать массив в отличие от независимых строк.
Возможно ли это даже в Cloud Firestore?Если нет, есть ли альтернативный способ сделать это?