몽고DB
-
[ MongoDB ] document의 field 이름 변경하는 방법Topic/Database 2023. 8. 19. 12:11
기존 document 예시 { "occupation":"Doctor", "name": { "first":"Jimmy", "additional":"Smith" } 요구사항 - additional의 이름을 last로 변경하고 싶다. 단순 변경하고 싶을 때 db.foo.updateMany({}, { $rename: { "name.additional": "name.last" } }, false, true); 속성을 포함하는 문서를 업데이트하고 싶을 때 db.foo.update({ "name.additional": { $exists: true } }, { $rename: { "name.additional": "name.last" } });
-
[ MongoDB ] .sort() 에러 (ft. query)Topic/Database 2023. 3. 11. 12:37
데이터를 최신순으로 가져오면서 필드의 값이 49를 넘지 않는 조건으로 찾을 때 이전 코드 todayCoupon = await Day.findOne({ kakao: { $lte: 49 } }).sort({ _id: -1 }); 이런 식으로 코드를 짰는데 자꾸만 todayCoupon이 undefined로 떠서 서비스에 문제가 생겼었다. 이것을 해결하려면 코드를 풀어주면 된다. 순차적으로 todayCoupon = await Day.findOne().sort({ _id: -1 }); // 먼저 sort시켜서 하나를 찾고 if (todayCoupon._doc.kakao
-
[ MongoDB ] Document에서 중첩 객체의 속성을 제거하는 방법(객체 내 객체)Topic/Database 2023. 2. 11. 19:07
mongo db document data { "_id": ObjectId("5589044a7019e802d3e9dbc5"), "sessionId": LUUID("f49d4280-ced0-9246-a3c9-a63e68e1ed45"), "teamId": LUUID("6ef7d1a8-f842-a54c-bd8c-daf6481f9cfc"), "variableId": LUUID("59d1b512-eee2-6c4b-a5b5-dda546872f55"), "values": { "725400": 691.0000000000000000, "725760": 686.0000000000000000, "726120": 683.0000000000000000, "726480": 681.0000000000000000, "726840": ..
-
[ MongoDB ] 몽고cloud IP 등록하기 (ft. 연결 에러)Topic/Database 2022. 12. 24. 16:47
몽고DB와 연결을 해서 잘 쓰고 있었는데 배포를 하고 DB 연결이 안 되는 문제가 발생했다. 요청할 때 end point를 바꾸니 정확하지 않다고 떠서 routes에서 분기는 잘 되는 것으로 확인했고 몽고 클라우드를 확인해 보았다. 몽고 cloud 안의 프로젝트 cluster에 들어가 Network Access 클릭 ADD IP ADDRESS를 눌러 본인의 IP 등록 Pending이 끝나고 동작시키면 다시 잘 동작한다.
-
[ MongoDB ] mongoose 배열 값 추가, 삭제Topic/Database 2022. 9. 13. 14:42
type이 배열인 필드에 값 추가하기 ($push) // 해당 날짜 데이터에 userIp 추가해주기 await findTodayData.updateOne({ $push: { count: userIp, }, }); type이 배열인 필드에 값 삭제하기 ($pull) // 해당 날짜 데이터에 userIp 제거하기 await findTodayData.updateOne({ $pull: { count: userIp, }, }); // 혹은 pullAll로 해당 값을 삭제해줄 수도 있다. push로 배열에 넣었으니 pull로 배열에서 뺀다.
-
NoSQL이란?Topic/Database 2022. 6. 22. 23:35
NoSQL : NoSQL은 (non SQL 또는 non relational) 기존 RDBMs 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터 베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태로, 수평적 확장성을 갖고 있다. RDBMS가 클라이언트/서버 환경에 맞는 데이터 저장기술이라면, NoSQL은 클라우드 환경에 맞는 저장 기술이다. NoSQL의 특징 NoSQL은 RDBMS와는 달리 데이터 간의 관계를 정의하지 않는다. RDBMS에 비해 훨씬 더 대용량의 데이터를 저장할 수 있다. 분산형 구조이다. 고정되지 않은 테이블 스키마를 갖는다. RDBMS 와 NoSQL의 차이 RDBMS 장점 - DATA를 Column과 Row 형태로 저장 - 데이터의 분류,..