Learn how to order Firestore documents by timestamp—set up Firebase, add server timestamps, and query with orderBy to retrieve your latest entries.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
Step 1: Set up Firebase in Your Project
To use Firestore, you first need to set up Firebase in your project. Ensure you have Firebase initialized and Firestore set up in your application. This can vary whether you're using Firebase with a web app or a mobile app.
For a web app, you can set it up as follows:
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};
// Initialize Firebase
const app = firebase.initializeApp(firebaseConfig);
const db = firebase.firestore();
For a mobile app using Firebase, you should follow Firebase’s official documentation for setting up Android or iOS.
Step 2: Create Firestore Collection with Timestamp
To store a timestamp with each document in your Firestore database, you need to include a timestamp field when adding documents. Ensure you define the created_at field with firebase.firestore.FieldValue.serverTimestamp() to get the server time.
const addDocumentWithTimestamp = async () => {
try {
await db.collection("your_collection_name").add({
title: "Document Title",
created\_at: firebase.firestore.FieldValue.serverTimestamp()
});
console.log("Document successfully written!");
} catch (error) {
console.error("Error writing document: ", error);
}
};
Step 3: Query Firestore Documents Ordered by Timestamp
To query documents from your Firestore collection and order them by a timestamp, you can use the orderBy function. Here's an example:
const queryDocumentsOrderedByTimestamp = async () => {
try {
const querySnapshot = await db.collection("your_collection_name")
.orderBy("created\_at", "desc")
.get();
querySnapshot.forEach((doc) => {
console.log(`${doc.id} => ${JSON.stringify(doc.data())}`);
});
} catch (error) {
console.error("Error querying documents: ", error);
}
};
By specifying orderBy("created_at", "desc"), your documents will be returned in descending order based on the timestamp, meaning the most recent documents will be listed first.
Step 4: Handle Timestamp Data Type
It's crucial to understand how timestamps are stored in Firestore. When you retrieve documents and print timestamp fields, you'll notice they are JavaScript Date objects. Here's how you can format a timestamp:
querySnapshot.forEach((doc) => {
const data = doc.data();
const createdAt = data.created\_at.toDate(); // Convert Firestore timestamp to JavaScript Date object
console.log(`Document ${doc.id} was created at: ${createdAt}`);
});
Step 5: Testing and Debugging
To ensure your Firestore querying functions work correctly, you need to test your code. Here are a few debugging tips:
By following these steps, you can successfully order Firestore documents by timestamp in your Firebase application.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.