MongoDB 기본 명령어
몽고디비 접속하기
docker로 mongodb 컨테이너에 접속
docker exec -it mongodb bash
mongodb에 접속
root@2ece12856458:/# mongo
데이터베이스 사용하기(show, use)
데이터베이스 보기
show dbs;
사용 중인 유저 확인
show users
사용할 데이터베이스 선택하기 & 데이터베이스 생성
use 데이터베이스명
컬렉션 보기
show collections
데이터 저장 및 찾기(save, find)
컬렉션 생성 & 추가
db.컬렉션명.save({username:"sai",password:"1234"});
컬렉션 찾기
db.컬렉션명.find()
컬렉션 정렬해서 찾기
db.컬렉션명.find().pretty();
특정 컬렉션 정렬해서 찾기
db.users.find({필드명:"값"}).pretty;
데이터 변수에 담아서 저장하기
데이터 변수에 담기
let 변수명 = {
username : "bab",
password : "1234",
age : 35,
friend : {
username : "sai",
password : "1234",
age : 20
}
};
변수에 담은 데이터 저장하기
db.필드명.save(변수명);
조건식으로 찾기
조건으로 특정 컬렉션 정렬해서 찾기
db.users.find({필드명:{조건식}}).pretty();
조건식 넣는 방법( 초과, > )
db.users.find({필드명:{$gt:값}}).pretty();
조건식 넣는 방법( 미만, < )
db.users.find({필드명:{$gl:값}}).pretty();
조건식 넣는 방법( 이상, => )
db.users.find({필드명:{$gte:값}}).pretty();
조건식 넣는 방법( 이하, =< )
db.users.find({필드명:{$gle:값}}).pretty();
조건식 넣는 방법( 또는, or )
<필드 하나>
db.user.find({필드명:{$in:[값,값]}});
<필드 여러개>
db.user.find({$or:[{필드명:값},{필드명:"값"}]});
필드 안에 객체 값 찾는 법
db.user.find({"객체명.필드명":"값"}).pretty();
쌍따옴표(“) 안 넣었을 때 자주 보는 오류
uncaught exception: SyntaxError: missing : after property id :
조건 부정해서 찾기
db.user.find({필드명:{$ne:값}}).pretty();
조건의 결과 전체부정해서 찾기
db.users.find({필드명 : {$not : {$ne :값}}}).pretty();
데이터 개수 찾기
db.user.find().count();
데이터 정렬해서 찾기
<오름차순>
db.user.find().sort({필드명:1});
<내림차순>
db.user.find().sort({필드명:-1});
데이터 제한해서 찾기(2개 찾기)
db.user.find().limit(2);
데이터 정렬과 제한 응용하기
db.user.find().sort({age:-1}).limit(2);
데이터 수정 및 삭제(update, remove)
데이터 수정하기
db.user.update({"필드명":"값"},{$set : {"필드명":"수정값"}});
데이터 모두 수정하기
db.user.update({"필드명":"값"},{$set : {"필드명":"수정값"}},{multi:true});
오브젝트 전체 삭제하기
db.user.remove({"_id":ObjectId("해쉬값")});
필드 하나 삭제하기
db.user.update({필드명선택:값선택},{$unset:{수정필드명:"수정값"}});
데이터 전체 삭제하기
db.user.remove({});
컬렉션 삭제하기
db.user.drop();