목록Database (17)
우노
Aggregation이란? Aggregation은 파이프라인으로 구성된다. Project : 한 번 걸러서 다음 operation으로 넘긴다. Match : 조건에 맞는 애들만 필터링한다. Limit, Skip : 제한 Group : 그룹화 Sort : 정렬 Aggregation은 각각의 operation들이 , 로 구분 돼 리스트형식으로 들어간다. db.products.aggregate([ {$match: ...}, {$group: ...}, {$sort: ...} ]) Match filtering을 뜻한다. { $match: { } } // aggregate의 match는 find와 동일한 결과! db.zipcodes.aggregate( [ {$match: {city: "GOSHEN"} } ] ) d..
1. 실습을 위한 파일 다운로드 wget http://media.mongodb.org/zips.json 2. 파일을 docker mongodb container 내부로 전송 mongodb container 내부에 tmp/zips.json이 생긴다. docker cp zips.json mongodb:/tmp/zips.json 3. mongodb container의 데이터를 mongodb에 삽입 collection 이름을 zipcodes로 설정! docker exec -it mongodb bash mongoimport --collection zipcodes --file /tmp/zips.json 4. mongodb 접속 후 데이터 들어갔는지 확인하기 mongodb.zipcodes.find( { } )
현재 컬렉션에 적용된 인덱스 확인하기 db.zipcodes.getIndexes() Index 만들기 db.zipcodes.createIndex( { pop : 1 } ) 속도 비교하기 // index가 돼 있으면 pop이 있는 도큐먼트만 본다! db.zipcodes.find({pop:100}).explain("executionStats") // 모든 도큐먼트 확인 -> pop이 있는 도큐먼트 찾기 -> 정렬 db.zipcodes.find({pop:100}).explain("executionStats") Compound Index 여러개의 키를 가지고 인덱스를 만드는 것 db.zipcodes.createIndex( { city : 1, pop : 1} ) Index 지우기 key or Value로 삭제 가..
// db 접근 use test // 존재하는 collection 보기 show collections // 지울 collection 삭제 db.col.drop()
// 지울 db 접근 use nyc // db 삭제 db.dropDatabase()
admin db 사용 use admin 유저 생성 db.createUser( { user: "user", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "dbAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" } ], mechanisms:[ "SCRAM-SHA-1" ] } ) 유저 확인 db.getUsers()
Docker 설치 sudo yum update -y sudo yum install docker -y sudo service docker start sudo usermod -a -G docker ec2-user Mongodb container 생성 및 실행 docker run -d --name mongodb -p 27017:27017 mongo docker exec -it mongodb mongo