Запрос коллекции Firestore в поле карты

#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 ссылку на документ, поэтому дайте мне знать, работает это или нет.