파이어베이스 데이터 선택해서 가져오기
- 파이어베이스에서 어제, 오늘, 내일 쓴 글을 불러올 수 있도록 코드를 짜보았다.
맨 처음에 타임스탬프 형식으로 저장해서 불러왔는데 잘 안되서 데이트 형식으로 코드를 다시 짰는데도 안됐다.
오늘 날짜와 내일 날짜가 출력이 안되고 하루 전날씩 출력이 된다.... ㅂㄷㅂㄷ
export const getCommentList = async (time) => {
let cmtObjList = [];
const today = new Date().toDateString("yyyy-mm-dd");
const now = new Date();
const yesterday = new Date(now.setDate(now.getDate() - 1)).toDateString(
"yyyy-mm-dd"
);
console.log(now);
const tomorrow = new Date(now.setDate(now.getDate() + 1)).toDateString(
"yyyy-mm-dd"
);
console.log(tomorrow);
if (time === "yesterday") {
const q = query(
collection(dbService, "comments"),
where("createdAt", "<", new Date(today)),
where("createdAt", ">=", new Date(yesterday)),
orderBy("createdAt", "desc")
);
const querySnapshot = await getDocs(q);
querySnapshot.forEach((doc) => {
const commentObj = {
id: doc.id,
...doc.data(),
};
cmtObjList.push(commentObj);
});
} else if (time === "today") {
const q = query(
collection(dbService, "comments"),
where("createdAt", "<", new Date(tomorrow)),
where("createdAt", ">=", new Date(today)),
orderBy("createdAt", "desc")
);
const querySnapshot = await getDocs(q);
console.log(querySnapshot);
querySnapshot.forEach((doc) => {
const commentObj = {
id: doc.id,
...doc.data(),
};
cmtObjList.push(commentObj);
});
} else if (time === "tomorrow") {
const q = query(
collection(dbService, "comments"),
where("createdAt", ">=", new Date(tomorrow)),
orderBy("createdAt", "desc")
);
const querySnapshot = await getDocs(q);
querySnapshot.forEach((doc) => {
const commentObj = {
id: doc.id,
...doc.data(),
};
cmtObjList.push(commentObj);
});
} else {
}