본문 바로가기

DB/MongoDB4

Mongoose란? MySQL schema table row MongoDB DB collection document 참고로 mongoose는 MongoDB를 다루기 위한 ODM(Object-Document-Mapper)이다. 소스에서 Document를 객체지향 개념으로 사용하고자 하는 목적으로 만들었다. node.js진영의 mongoose! RDB의 ORM인 Java진영의 JPA나, node.js의 squelize가 관계를 매핑시켜 소스에서 객체형태로 사용하고자 하는 목적으로 만들어 진 경우와(소스코드상에서 SQL문을 직접적으로 작성하는 것을 피하기) 비슷해 보일 수도 있다. 하지만 정말 NOSQL DB인 MongoDB에 ODM이 필요할까? NOSQL DB는 이미 의도적으로 스키마, Join, SQL작성의 개념이 필요 없도.. 2019. 10. 3.
권리자 권한 만들기 MongoDB는 설치후 아무나 비밀번호 없이 사용할 수 있다. 다른 DB처럼 root권한과 비밀번호 설정을 설치중에 권하지 않는다. 따라서 비밀번호를 지정하기위해서는 설정이 필요하다. mongod mongo use admin db.createUser({user: 'fabxoe', pwd: 'password', roles: ['root']}) mongod를 실행시킨 후 별로의 프롬프트창을 또 띄워서 mongo를 수행시키면 인터렉티브 모드를 사용할 수 있다. roles로는 현재 모든 권한이 있는 root를 부여하였다. 필요에 따라 상황에 맞는 역할을 부여하면 된다. 아까 mongod를 입력했던 콘솔을 종료한 뒤, 이번에는 mongod --auth 명령어로 접속한다. 이제 mongo를 입력했던 콘솔도 종료한 .. 2019. 10. 3.
MongoDB 윈도우환경에서 실행전 꼭 해야할 일 윈도우 환경의 경우 수동으로 C:\에 data 폴더를 만들고 다시 그 안에 db 폴더를 만들어야 한다. C:\data\db 폴더가 없으면 실행되지 않으므로 반드시 폴더를 먼저 만들어야 한다. 소프트웨어의 완성도 측면에서 허술해 보이는 느낌이 들게하는 사용방식이지만 개발도구이니까 받아들이자. 2019. 10. 3.
MongoDB 컨테이너 docker run -p 27017:27017 --name mongo_boot -d mongo 컨테이너 생성 docker exec -i -t mongo_boot bash 인터렉티브 모드 db use test db.accounts.find({}) MongoTemplate MongoRepository 내장형 MongoDB도 지원 (테스트용) de.flapdoodle.embed de.flapdoodle.embed.mongo test @DataMongoTest (슬라이싱 테스트 지원) @Document(collection = "accounts") 2019. 9. 12.