'Shuffle docs from firebase firestore collection in JavaScript

Randomizing content may be a useful functionality for different applications. The following code completes the task for a firebase firestore collection.



Solution 1:[1]

Sample firebase initialization main shuffle code below

// Import Firebase
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.5.0/firebase-app.js";
import { doc, getDoc, getDocs, collection, getFirestore } from "https://www.gstatic.com/firebasejs/9.5.0/firebase-firestore.js";

// Firebase Config
const firebaseConfig = {
          apiKey: "your-info",
          authDomain: "your-info",
          databaseURL: "your-info",
          projectId: "your-info",
          storageBucket: "your-info",
          messagingSenderId: "your-info",
          appId: "your-info",
          measurementId: "your-info"
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);
// Initialize Firestore
const firestore = getFirestore(app);


Code to get a sample 'contributions' collection and console log shuffled docs:

// Get Collection
const contributionsCollection = collection(firestore, 'contributions');
// Get Collection Docs
const contributionsCollectionDoc = await getDocs(contributionsCollection);

// Fill in Contributions
if(contributionsCollectionDoc.empty == false) {
           var contributions = contributionsCollectionDoc.docs;
           shuffle(contributions);
           contributions((doc) => {
                      console.log(doc.data());
           });
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1