#javascript #firebase #google-cloud-platform #google-cloud-firestore
#javascript #firebase #google-облачная платформа #google-облако-firestore
Вопрос:
У меня есть коллекция firestore, как показано ниже, и я хотел бы запросить поле карты, чтобы отфильтровать результаты. Вот мой код, но я всегда не вижу результата. Может ли кто-нибудь помочь здесь? Спасибо!
const myRef = firebase.firestore().collection('otherCollection').doc('123456');
const res = await firebase
.firestore()
.collection('myCollection')
.where('testMap.array1', 'in ', myRef)
.get();
Комментарии:
1. Вы пытались переписать часть «где» как
where("testMap.array1", "array-contains", myRef)
?2. Звучит как ответ @MedvedievV. 🙂
3. @FrankvanPuffelen Я не разработчик JS и не проверял, действительно ли мое предложение работает. Если вы проверили это, не стесняйтесь публиковать в качестве ответа.
Ответ №1:
То, что вы описываете, известно как array-contains
операция в Firestore. Это реализуется как:
firebase
.firestore()
.collection('myCollection')
.where('testMap.array1', 'array-contains', myRef)
.get();
Я сам никогда не запускал array-contains
ссылку на документ, поэтому дайте мне знать, работает это или нет.