title: How does .map / .subscribe on Angular2 work?
body: <p>I'm trying to fill 3 variables (arrays) from Firebase with AngularFire2.</p>
  
  <p>DB structure is this:</p>
  
  <p><a href="https://i.stack.imgur.com/3pDY7.png" rel="nofollow"><img src="https://i.stack.imgur.com/3pDY7.png" alt="Firebase3 structure"></a></p>
  
  <p>I'm stuck at how should I resolve Promise to map to fill those variables. Even easiest queries return nothing and also console.log doesn't show anything.</p>
  
  <pre><code>    let testConnection = this.AngularFire.database.list(DbPath)
            .map((items) =&gt; {
              console.log(items);
              return items.map(item =&gt; {
                  console.log(items);
                   console.log(item);
     })})
  </code></pre>
  
  <p>I tried with <code>.subscribe</code>, but since this preserves snapshots (and without preserving it doesn't work), it's not doable for me :/. But it worked and filled it right.</p>
  
  <pre><code>return this.AngularFire.database.list(DbPath, { preserveSnapshot: true })
  .subscribe(
  (snapshots:any) =&gt; {
      snapshots.forEach(snapshot =&gt; {
      console.log(snapshot.key);
  
         if (snapshot.key === 'disliked') {
         this.dataListDisliked = snapshot.val();
     }
     ...
  </code></pre>
  
  <p>Any ideas? Thanks a lot</p>