Я пытаюсь использовать поле из коллекции 'profile', скажем 'username', чтобы отфильтровать записи из основной коллекции 'orders' - PullRequest
0 голосов
/ 04 марта 2020

Есть ли способ достичь этого? Я пытался присвоить запись локальной переменной, но она не работает с грубыми методами.

getData() async {
    String userId = 'userId';
    Firestore.instance.collection('user').document(userId).snapshots();
    var snapshot;
    var userDocument = snapshot.data;
    String _myAddress = userDocument["address"];
    return Firestore.instance
        .collection('letters')
        .where("source Box", isEqualTo: _myAddress)
        .snapshots();
  }

1 Ответ

0 голосов
/ 04 марта 2020

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

Приведенный ниже код является примером того, что вы можете попробовать еще больше адаптироваться к вашему случаю, но я считаю, что это должно помочь you.

// Create references to the profile and orders collections
var profilesRef = db.collection("profile");
var ordersRef = db.collection("orders");

// Create a query against the collection.
var query = ordersRef.where("username", "==", ).doc("username").get();

В документации Выполнение простых и составных запросов в Cloud Firestore , есть дополнительная информация и примеры запросов, которые должны вам помочь.

Кроме того к тому же, этот пост от сообщества может дать вам некоторое представление о том, как выполнить этот тип запроса.

Дайте мне знать, помогла ли вам информация!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...