title: Flutter Firestore - Find `Document Snapshot` id
body: <p>I hava simple app with list of products. Products are stored on Firebase Firestore. I want to download list of products and give user possibility to update some data. </p>
  
  <p>So I prepare list with products: </p>
  
  <pre><code>Widget _buildProductsList() {
    return new StreamBuilder(
      stream: Firestore.instance
          .collection('products')
          .snapshots,
      builder: (context, snapshot) {
        if (!snapshot.hasData) return new Text("Loading...");
  
        return new ListView(
          children: snapshot.data.documents.map((document) {
            Product product = new Product(document.data);
            _ProductCell cell = new _ProductCell();
            cell.product = product;
            return cell;
          }).toList(),
        );
      },
    );
  }
  </code></pre>
  
  <p>I serialize Document Snapshot to my Product object:</p>
  
  <pre><code>class Product {
  
      static const NAME_KEY = 'name';
      static const DESC_KEY = 'desc';
      static const PHOTO_URL_KEY = 'photoUrl';
      static const AUTHOR_ID_KEY = 'authorId';
      static const CREATED_AT_KEY = 'createdAt';
  
      String name;
      String description;
      String photoUrl;
      String authorId;
      int createdAt;
  
      Product(Map&lt;String, dynamic&gt; json) {
          name = json[NAME_KEY];
          description = json[DESC_KEY];
          photoUrl = json[PHOTO_URL_KEY];
          authorId = json[AUTHOR_ID_KEY];
          createdAt = json[createdAt];
      }
  }
  </code></pre>
  
  <p>Now, when user make some interact with ProductCell I want to update Product Document in Firestore which is linked with but I don't have an ID so it is impossible to create proper Firestore reference. </p>
  
  <p>How to achieve this?</p>