외로운 Nova의 작업실

MongoDB 프로그래밍 - 명령문, 함수, 구성 정리 본문

Programming/SQL

MongoDB 프로그래밍 - 명령문, 함수, 구성 정리

Nova_ 2023. 1. 23. 13:09

- MongoDB 구성

몽고디비는 database - collection - document - filed순으로 되어있습니다. doucument는 딕셔너리 형태의 값이고 filed는 딕셔너리 형태의 하나의 키와 값을 말합니다. collection은 이 document를 모아두는 저장 창고이며 database는 이 collection을 모아두는 저장 창고입니다.

 

- 명령문

#database 생성 및 사용, 이명령어 이후에는 db객체에 데이터베이스가 담겨 접근할 수 있습니다.
use users

#users db에 user collection 생성
db.create("user")

#user 콜렉션에 어드민 계정추가 document 추가
db.user.insert({"userid" : "admin", "userpassword" : "strawberry"})

#모든 document 조회
db.user.find()

#document 삭제, 하나만 일치해도 그 document를 삭제합니다.
db.user.remove({"userid" : "admin"})

#database 삭제
db.dropDatabase()

 

- 여러가지 document 조회 방법

db.users.find()의 함수에는 2가지 매개변수가 있습니다. 바로 query와 projection입니다.

query에 들어가는 다양한 연산자를 사용해서 document를 조회할 수 있습니다.

 

<비교 연산자>

$eq (equals) 주어진 값과 일치하는 값
$gt (greater than) 주어진 값보다 큰 값
$gte (greather than or equals) 주어진 값보다 크거나 같은 값
$lt (less than) 주어진 값보다 작은 값
$lte (less than or equals) 주어진 값보다 작거나 같은 값
$ne (not equal) 주어진 값과 일치하지 않는 값
$in 주어진 배열 안에 속하는 값
$nin 주어빈 배열 안에 속하지 않는 값

 

<논리 연산자>

$or 주어진 조건중 하나라도 true 일 때 true
$and 주어진 모든 조건이 true 일 때 true
$not 주어진 조건이 false 일 때 true
$nor 주어진 모든 조건이 false 일때 true

<regex연산자>

정규식 표현을 사용하여 document를 찾을 수 있습니다.

#userid가 g로 시작하는 document 찾기
db.user.find({userid: {$regex: "^g"}})

 

<where 연산자>

자바표현법으로 document를 찾을 수 있습니다.

#userid의 첫번째 글자가 a인것을 검색
db.user.find({$where : "this.userid.substring(0,1) == 'a'"})

 

<예제>

#userid가 a가 아닌 모든 document 찾기
db.user.find({userid:{$ne : "a"}})

 

Comments