Запросить дочерний элемент в массиве объектов в Firestore - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь найти элемент поля массива в моей коллекции firestore.

Это поле в firestore:

channels: [{name: "linkedin", date: "2020-01-02"}]

Вот как я пытался запросить его:

firebase.firestore().collection("users")
  .where("status", "==", "ACTIVE")
  .where("channels", "array-contains", {
      name: "linkedin"                     
  })

1 Ответ

1 голос
/ 27 мая 2020

array-contains не может выполнить поиск в объектах с указанием c значений свойств.

он будет работать, если вы сделаете что-то вроде channels: ["Linkedin", "facebook", "twitter"]

Вероятно, вы захотите попробовать вместо этого используйте вложенную коллекцию для каналов, в противном случае вам нужно получить все значения в каналы, а затем применить фильтры в памяти.

...