<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: codeHiccups</title>
    <description>The latest articles on Forem by codeHiccups (@codehiccups).</description>
    <link>https://forem.com/codehiccups</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F567528%2F6042e103-58cb-45ec-967d-034c7ace64a2.png</url>
      <title>Forem: codeHiccups</title>
      <link>https://forem.com/codehiccups</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/codehiccups"/>
    <language>en</language>
    <item>
      <title>Setting up older mac mini</title>
      <dc:creator>codeHiccups</dc:creator>
      <pubDate>Wed, 08 May 2024 06:29:55 +0000</pubDate>
      <link>https://forem.com/codehiccups/setting-up-older-mac-mini-1124</link>
      <guid>https://forem.com/codehiccups/setting-up-older-mac-mini-1124</guid>
      <description>&lt;p&gt;I have installed the 24.04 version of ubuntu, after which I am facing some issue with remote desktop connection. Due to which I need to restart it again &lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Download ubuntu and Flash :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download ubuntu LTS&lt;/li&gt;
&lt;li&gt;Download balena etcher&lt;/li&gt;
&lt;li&gt;Flash the USB&lt;/li&gt;
&lt;li&gt;Eject the flash drive&lt;/li&gt;
&lt;li&gt;Shutdown the mac mini&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;If there is a loading indicator after shutdown, press &lt;code&gt;esc&lt;/code&gt; to see the logs. In my case it's deluge demon not killing&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install Ubuntu :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Connect the Flash drive&lt;/li&gt;
&lt;li&gt;Press and hold left &lt;code&gt;alt&lt;/code&gt; key on the keyboard&lt;/li&gt;
&lt;li&gt;Press the power button&lt;/li&gt;
&lt;li&gt;This opens boot menu&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Remote Desktop connection :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Following this blog has resolved all the issues related to remote desktop connection. They will provide a custom script &lt;/p&gt;

&lt;p&gt;&lt;u&gt;please read carefully and run like should not run as sudo etc&lt;/u&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://c-nergy.be/blog/?p=19671"&gt;https://c-nergy.be/blog/?p=19671&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install Curl :&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt  install curl&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install node.js :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use nvm to install this&lt;/li&gt;
&lt;li&gt;Go to &lt;a href="https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating"&gt;Github&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Copy paste the script&lt;/li&gt;
&lt;li&gt;close and reopen the termial
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm install --lts
nvm use --lts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install cloudflare port forwarding :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Login into the cloudflare tunnel dashboard&lt;/li&gt;
&lt;li&gt;Delete existing and create a new tunnel&lt;/li&gt;
&lt;li&gt;There the script will be given which will auto configure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Download Chromium :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download it from the app store&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install MongoDB :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow this guide : &lt;a href="https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/"&gt;Mongo DB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;This as well : &lt;a href="https://www.hostinger.in/tutorials/how-to-install-mongodb-on-ubuntu/"&gt;Hostinger&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install VS Code :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;U can download it from the app store&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't install Deluge &amp;amp; Plex from the store something is not right&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install SSH :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Follow this Guide : &lt;a href="https://hostman.com/tutorials/how-to-install-and-configure-ssh-on-ubuntu-22-04"&gt;ssh&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install Plex :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Follow this Guide : &lt;a href="https://reintech.io/blog/setting-up-plex-media-server-ubuntu-22"&gt;Plex&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install Docker :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install Portainer :&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;How to setup ssh with cloudflare tunnel:&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow this : &lt;a href="https://chriskirby.net/web-browser-ssh-terminal-to-homelab-with-cloudflare-zero-trust/"&gt;https://chriskirby.net/web-browser-ssh-terminal-to-homelab-with-cloudflare-zero-trust/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h5&gt;
  
  
  Install ollamma
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Use normal Flow&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Auto start without pressing the power button the key board
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install deluge
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install mongoDB
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Follow the instructions for the mongoDB site, community server&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Install fileServer
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install dashlane
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install vim plugin
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install code server
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install custom fonts
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install plex server
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Install xrdp
&lt;/h5&gt;

</description>
      <category>oldmac</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>Firestore API : Getting started 🎁</title>
      <dc:creator>codeHiccups</dc:creator>
      <pubDate>Sun, 09 May 2021 10:21:29 +0000</pubDate>
      <link>https://forem.com/codehiccups/firestore-1ikl</link>
      <guid>https://forem.com/codehiccups/firestore-1ikl</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VnDDBkku--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/akm5od0383lcbhxvb9zb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VnDDBkku--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/akm5od0383lcbhxvb9zb.png" alt="Firestore API : Getting started"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  # STEP 1 :
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;db&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;firebase&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;firestore&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h6&gt;
  
  
  # STEP 2 :
&lt;/h6&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1. Connect to Collection&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;collectionRef&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;users&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;RETURNS&lt;/code&gt; &lt;code&gt;collectionReference&lt;/code&gt; subset of queryReference&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not sure why but some how this is &lt;strong&gt;NOT&lt;/strong&gt; an async opertation&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTE : Now we will only talk about &lt;code&gt;collectionReference&lt;/code&gt; object &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;documentRefernce&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// collectionReference have few methods to get the snapshot&lt;/span&gt;

&lt;span class="nx"&gt;collectionRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;NOTE : &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;All the above operations are &lt;code&gt;async&lt;/code&gt; operations&lt;/li&gt;
&lt;li&gt;All the collectionReference operations &lt;strong&gt;RETURN&lt;/strong&gt; &lt;code&gt;querySnapshot&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;docs: An array that returns all of the documents in the snapshot&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// querySnapshot has docs methods&lt;/span&gt;

&lt;span class="nx"&gt;collectionRef&lt;/span&gt;  &lt;span class="c1"&gt;//Reference from db.collection("users")&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;       &lt;span class="c1"&gt;// Get method to get query Snapshot&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;snapshot&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// snapshot has docs property&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;snapshot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;docs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="c1"&gt;// which returns array&lt;/span&gt;
      &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="c1"&gt;// of DocumentSnapshots, add data() to get JSON&lt;/span&gt;
    &lt;span class="p"&gt;}));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;RECAP :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.data() | .exists
🔺
DocumentSnapshots
🔺
.docs()
🔺
querySnapshot
🔺
.get()
🔺
collectionReference
🔺
.collection()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;(OR)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;2. Connect to Document&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;docRef&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/users/10&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;RETURNS&lt;/code&gt; &lt;code&gt;documentReference&lt;/code&gt; subset of queryReference&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not sure why but some how this is &lt;strong&gt;NOT&lt;/strong&gt; an async opertation&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTE : Now we will only talk about &lt;code&gt;documentRefernce&lt;/code&gt; object &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;collectionReference&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// documentReference have few methods to get the snapshot&lt;/span&gt;

&lt;span class="nx"&gt;docRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;docRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;set&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;docRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;update&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;docRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;NOTE : &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;All the above operations are &lt;code&gt;async&lt;/code&gt; operations&lt;/li&gt;
&lt;li&gt;All the documentReference operations &lt;strong&gt;RETURN&lt;/strong&gt; &lt;code&gt;documentSnapshot&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;h6&gt;
  
  
  # DocumentSnapshot :
&lt;/h6&gt;

&lt;blockquote&gt;
&lt;p&gt;Document snapshot have two important methods &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;.exists&lt;/li&gt;
&lt;li&gt;.data() &lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;RECAP :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.data() | .exists
🔺
DocumentSnapshot
🔺
.get() | .set() | .update() | .delete()
🔺
documentRefernce
🔺
.docs()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;===============&lt;/p&gt;

&lt;h4&gt;
  
  
  Leverage Realtime
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Instead of promise, it's a subscription&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;use &lt;code&gt;.onSnapshot(cb)&lt;/code&gt; on collection reference&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Whenever data changes, firestore calls the callback with querySnapshot
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;snapshot&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;snapshot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;docs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>firestore</category>
      <category>firebase</category>
      <category>realtime</category>
    </item>
  </channel>
</rss>
