title: Javascript Firebase Firestore returning disordered data
body: <p>When I run the following using the JS client sdk</p>
  <pre><code>import { firestore } from &quot;../../../firebase&quot;;
  
  export default async (userId) =&gt; {
    const userRef = firestore.collection(&quot;users&quot;).doc(userId);
    const userDoc = await userRef.get();
  
   
    if (!userDoc.exists) {
       throw new Error(&quot;User doesn't exist&quot;);
    }
  
    console.log(JSON.stringify(userDoc.data(), null, 2));
  
    const userData = {
      id: userDoc.id,
      ...userDoc.data(),
    };
  
    return userData;
  };
  </code></pre>
  <p>multiple times, for the same userId, without having changed anything in the DB, I get the same data but with disordered fields:</p>
  <pre><code>{ // 1st fetch
     name: &quot;a&quot;,
     age: 10,
     avatar: {
        uri: &quot;x&quot;,
        thumbnailUri: &quot;y&quot;
     }
  }
  
  
  ....
  
  
  { // 2nd fetch
     name: &quot;a&quot;,
     avatar: {
        thumbnailUri: &quot;y&quot;,
        uri: &quot;x&quot;
     },
     age: 10
  }
  </code></pre>
  <p>What is the reason behind this? Is it possible to always get an ordered version?</p>