在Firebase中,可以使用Firebase Realtime Database或Firebase Cloud Firestore来组织数据。
首先,我们可以创建一个名为"posts"的集合/节点来存储帖子数据。每个帖子可以包含以下字段:
使用Firebase Realtime Database:
// 引入Firebase Realtime Database模块
const firebase = require('firebase/app');
require('firebase/database');
// 初始化Firebase配置
const firebaseConfig = {
// 配置信息
};
firebase.initializeApp(firebaseConfig);
// 获取Realtime Database实例
const database = firebase.database();
// 获取帖子的最后点赞
database.ref('posts').orderByChild('timestamp').limitToLast(1).on('value', (snapshot) => {
const lastLikedPost = snapshot.val();
console.log('最后点赞的帖子:', lastLikedPost);
});
// 获取最近两次点赞的帖子
database.ref('posts').orderByChild('timestamp').limitToLast(2).on('value', (snapshot) => {
const recentLikedPosts = snapshot.val();
console.log('最近两次点赞的帖子:', recentLikedPosts);
});
使用Firebase Cloud Firestore:
// 引入Firebase Cloud Firestore模块
const firebase = require('firebase/app');
require('firebase/firestore');
// 初始化Firebase配置
const firebaseConfig = {
// 配置信息
};
firebase.initializeApp(firebaseConfig);
// 获取Firestore实例
const firestore = firebase.firestore();
// 获取帖子的最后点赞
firestore.collection('posts').orderBy('timestamp', 'desc').limit(1).get()
.then((snapshot) => {
const lastLikedPost = snapshot.docs[0].data();
console.log('最后点赞的帖子:', lastLikedPost);
});
// 获取最近两次点赞的帖子
firestore.collection('posts').orderBy('timestamp', 'desc').limit(2).get()
.then((snapshot) => {
const recentLikedPosts = snapshot.docs.map((doc) => doc.data());
console.log('最近两次点赞的帖子:', recentLikedPosts);
});
上述代码示例中,我们使用了orderBy
和limit
方法来按时间戳对帖子进行排序和限制数量。limitToLast
方法用于获取最后点赞的帖子,limit
方法用于获取最近两次点赞的帖子。