[T.I.L] 221215 - Mongodb 데이터 가져올때 내림정렬 하는 법, 작성 시간 나타내는 법

권병석·2022년 12월 16일
0

T.I.L (스파르타)

목록 보기
17/22
router.get("/", async (req, res) => {
  try {
    // find() -> 모든 데이터 가져오기, sort({"_id": -1 } 내림차순 정렬)
    const posts = await Post.find().sort({ "_id": -1 });
    res.json(posts);
  } catch (err) {
    res.json({ message: err });
  }
});

find() 뒤에 sort()에 -1만 해주면 정렬이 손쉽게 바뀐다.
처음엔 어떻게 해야할지 막막하기만 했는데
찾아보니 _id값에 어떠한 패턴이 있다는것 같다

그리고 시간 나타내는법이 다양한데
나는 그냥 가장 손쉬운 방법을 택했다.

const mongoose = require("mongoose");

const PostSchema = mongoose.Schema({
  user: {
    type: String,
    required: true,
  },
  password: {
    type: String,
    required: true,
  },
  title: {
    type: String,
    required: true,
  },
  content: {
    type: String,
    required: true,
  },
  createdAt: {
    type: String,
    default: new Date(Date.now()),
  },
});

module.exports = mongoose.model("Posts", PostSchema);

위 코드는 블로그 게시글을 위한 스키마인데
createdAt만 보면 된다.

원래는 Date.now()만 했을땐 1613514124 이런식으로 써져있던것을 변환하려면
Date.now()를 new Date로 감싸주니 잘 작동하는걸 볼 수 있었다.

찾아보면 무슨 db 설정을 바꿔야 한다는둥...
몽고 db에선 시간을 자동으로 미국 시간 기준으로 설정한다던데
이걸 한국시간으로 바꾸는게 좀 너무 어려워서.. 나중에 함 더 찾아봐야겠다.

db엔 분명히 대한민국 시간으로 들어왔는데
왜 쏠땐 디폴트인 미국시간인건데 ㅠㅠ

profile
Back-End 개발자를 꿈꾸는 디제이였던 백수의 TIL 일기장 입니다.

0개의 댓글