해결된 질문
24.03.26 14:46 작성
·
151
답변 2
0
2024. 03. 26. 15:30
Date 타입으로 저장되어 있어요
그냥 올려주신 json 파일 그대로 임포트한건데, 제가 설정에서 Date 타입을 unix로 변경이 가능하다는 말씀이실까요?
따로 unix 라는 것은 보이지가 않네요
2024. 03. 26. 16:11
제공해주신 json 파일 그대로 컴패스에 넣었어요
accountId > account_id / 이런식으로 나와서 강의와 다소 다른부분은 그냥 보내주신 json 형식에 맞게 해보고 있어요~
2024. 03. 26. 17:28
음 사실 다양한 이유가 있을꺼 같습니다.
제가 제공해드린 모듈을 사용하면 unix 형태로 데이터가 들어갈것인데, 만약 compass에 해당 JSON파일을 넣게 되면, Compass 버전에 따라서 저런식으로 들어갈수도 있겠다는 생각을 하고 있습니다.
- 실제로 Json의 date값을 numberLong타입으로 mongo에서 다루는 int64타입과 동일하지만, 버전에 따라 이러한 방식은 차이가 있을수도 있습니다.
Date 타입에 대해서는 이런 부분을 참고하시면 좋을꺼같아요.
- https://www.mongodb.com/community/forums/t/how-can-i-match-all-data-between-two-date/189642/2
이외에도 공식 문서에서도 이러한 형태를 제공을 하고 있네요.
- https://www.mongodb.com/docs/manual/reference/method/Date/
이런 부분들을 참고해서 데이터에 대해서 쿼리를 작성해보시면 좋은거 같습니다.
하지만 실제 실무에서는 Date타입은 잘 사용하지 않는다는걸 명심해 주세요.
제가 경험한 부분에서는 해당 타입은 잘 사용하지 않고 Unix형태로 사용을 하는것이 일반적입니다.
0
2024. 03. 26. 14:51
자세한 부분은 다시 확인을 해봐야할꺼 같습니다.
일단 저장되신 date타입이 중요할꺼 같네요.
저도 실무에서는 일반적으로 unix로 통일시켜서 사용을 하고는 있습니다.
먼저 compass에서 도큐먼트를 보실 때, 도큐먼트의 맨 오른쪽에 어떤 타입으로 저장이 되었는지 확인 먼저 해보시면 좋을꺼 같습니다.
현재 match쿼리를 진행 하실 때 string값으로 비교를 해서 일단 string타입은 아닌걸로 보입니다.
2024. 03. 26. 15:34
Unix라는 것은 타입이 아니라, 일종의 시간값에 대한 형태를 의미합니다. 그래서 int64타입으로 선정이 됩니다.
- https://namu.wiki/w/%EC%9C%A0%EB%8B%89%EC%8A%A4%20%EC%8B%9C%EA%B0%84
혹시 json파일을 그대로 compass에 넣어주신걸까요?? 아니면 제가 제공해 드리는 Golang으로 작성된 마이그레이션 모듈을 사용을 하셨나요??