반응형
# 계정 관리 명령어
- 생성된 계정 목록 보기 : show users
- 계정 생성 하기 : db.createUser(<user>)
ex) db.createUser({ user: "root", pwd: "1111", roles: ["root"] }) - 계정 삭제 하기 : db.dropUser(<username>)
ex) db.dropUser("root") - 계정 업데이트 하기 : db.updateUser(<username>, <update>)
# 데이터베이스 명령어
- 생성된 DB 목록 보기 : show dbs
- DB 생성 및 변경 하기 : use <db_name>
ex) use database - 현재 사용하고 있는 DB 보기 : db
- DB 삭제 하기 : db.dropDatabase()
# 컬렉션 명령어
- 생성된 컬렉션 목록 보기 : show collections
- 컬렉션 생성 하기 : db.createCollection("collection_name")
ex) db.createCollection("users") - 컬렉션 삭제 하기 : db.<collection_name>.drop()
ex) db.users.drop() - 컬렉션 이름 변경 하기 : db.<collection_name>.renameCollection("new_collection_name")
ex) db.users.renameCollection("posts")
[Tip]
- 컬렉션 과 도큐먼트를 동시에 생성하기: db.<collection_name>.insertOne(<document>)
ex) db.users.insertOne({ name: "흰둥이", age: 3 })
# 도큐먼트 명령어
추가 (Create)
- 도큐먼트 한 개 추가 : db.<collection_name>.insertOne(<document>)
ex) db.users.insertOne({ name: "흰둥이", age: 3 }) - 도큐먼트 여러 개 추가 : db.<collection_name>.insertMany([ <document>, <document> ])
// 여러 개 도큐먼트를 배열로 묶어서 추가해야 함.
ex) db.users.insertMany([ { name: "흰둥이", age: 3 }, { name: "바둑이", age: 2 } ])
조회 (Read)
- 도큐먼트 한 개 조회 : db.<collection_name>.findOne(<query>)
// query에 매칭되는 첫 번째 도큐먼트만 조회.
ex) db.users.findOne({ name: "흰둥이" }) - 도큐먼트 여러 개 조회 : db.<collection_name>.find(<query>)
// query에 매칭되는 여러 도큐먼트를 조회.
ex) db.users.find({ name: "흰둥이" })
// query에 빈값()으로 주면, 모든 도큐먼트를 조회한다.
ex) db.users.find()
- 도큐먼트의 특정 키-값(필드)만 조회 : db.<collection_name>.find(<query>, <projection>)
// query에 매칭되는 도큐먼트의 특정 키-값(필드)만 조회. / (예제 결과: _id, name값만 표시됨.)
ex) db.users.find({ name: "흰둥이" }, {_id: true, age: false})
// 모든 도큐먼트의 특정 키-값(필드)만 조회.
ex) db.users.find({}, {_id: true, age: false}) - 도큐먼트 오름차순 조회 : db.<collection_name>.find().sort({ field_key: 1 })
ex) db.users.find().sort({ age: 1 }) - 도큐먼트 내림차순 조회 : db.<collection_name>.find().sort({ field_key: -1 })
ex) db.users.find().sort({ age: -1 }) - 도큐먼트 조회 결과수 제한 : db.<collection_name>.find().limit(<number>)
// 도큐먼트 조회 결과수를 3개로 제한.
ex) db.users.find().limit(3) - 도큐먼트 조회 결과 건너뛰기(스킵) : db.<collection_name>.find().skip(<number>)
// 도큐먼트 3개를 건너뛰고 나머지 조회 결과물 출력.
ex) db.users.find().skip(3)
수정 (Update)
- 도큐먼트 한 개 수정 : db.<collection_name>.updateOne(<query>, <update>)
// query에 매칭되는 첫 번째 도큐먼트의 age 값을 7로 변경.
ex) db.users.updateOne({ name: "흰둥이" }, { $set: { age : 7 } })
- 도큐먼트 여러 개 수정 : db.<collection_name>.updateMany(<query>, <update>)
// query에 매칭되는 여러 도큐먼트의 age 값을 7로 변경.
ex) db.users.updateMany({ name: "흰둥이" }, { $set: { age : 7 } })
// query에 매칭되는 여러 도큐먼트의 age 값을 1씩 증가.
ex) db.users.updateMany({ name: "흰둥이" }, { $inc: { age : 1 } })
// { upsert: true } 옵션을 넣으면, 도큐먼트(query)를 찾을 수 없을 경우 새로운 도큐먼트로 추가함.
ex) db.users.updateMany({ name: "초롱이" }, { $set: { age : 7 } }, { upsert: true })
- 도큐먼트 교체 하기 : db.<collection_name>.replaceOne(<query>, <replace>)
// 주의: query에 매칭되는 기존의 도큐먼트를 새로운 도큐먼트로 모두 덮어씌움.
ex) db.users.replaceOne({ name: "흰둥이" }, { name: "초롱이", addr: "seoul" })
삭제 (Delete)
- 도큐먼트 한 개 삭제 : db.<collection_name>.deleteOne(<query>)
// query에 매칭되는 첫 번째 도큐먼트만 삭제함.
ex) db.users.deleteOne({ name: "흰둥이" }) - 도큐먼트 여러 개 삭제 : db.<collection_name>.deleteMany(<query>)
// query에 매칭되는 여러 도큐먼트를 삭제함.
ex) db.users.deleteMany({ name: "흰둥이" })
https://blog37.tistory.com/entry/MongoDB-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%A0%95%EB%A6%AC
MongoDB 연산자 정리
# 쿼리 연산자비교$eq : 값이 같음. (필드 == 값)ex) db.users.find({ age: { $eq: 2 } })$ne : 값이 같지 않음. (필드 != 값)ex) db.users.find({ age: { $ne: 2 } })$gt : 값이 필드 값보다 큼. (필드 > 값)ex) db.users.
blog37.tistory.com
반응형
'IT > MongoDB' 카테고리의 다른 글
MongoDB 연산자 정리 (0) | 2024.05.10 |
---|---|
window에서 MongoDB 설치 및 실행 (0) | 2024.05.10 |