몽고비디 아틀라스 - 데이터 쿼리

1 분 소요

MySQL에 익숙해 지다보니 신세계다!!!

터미널에서 아틀라스에 접속한 다음

show dbs
use ${db name}

으로 원하는 데이터베이스에 접근하는건 비슷하다.

이제 show tables 대신 show collections를 명령하면 컬렉션들의 목록이 보여진다.

도큐먼트 선택(MYSQL = SELECT)

간단하다.

db.${콜렉션 이름}.find({"키":"원하는값","키":"원하는값})

20개 정도만 보이는데 터미널에 it이라고 치면 다음 20개가 보인다.

it

iterate의 약자. cursor에 해당되는 다음 데이터중 20개를 보여준다.

cursor

쿼리에 해당되는 데이터들을 가리키는 포인터. (컴퓨터 공학의 그 포인터)

counter

쿼리 결과 해당되는 도큐먼트들의 수를 리턴하는 명령어.

db.${콜렉션 이름}.find({"키":"원하는값","키":"원하는값}).count()

pretty

JSON 타입의 데이터를 보기 좋게 바꿔주는 명령어. JSON 포멧에 인덴트가 추가된다.

db.${콜렉션 이름}.find({"키":"원하는값","키":"원하는값}).pretty()

만약 컬렉션의 모든 정보를 보고 싶은 경우(SELECT * from ..)

db.${콜렉션 이름}.find({})

Create

새로운 문서를 만드는것도 가능하다.

다만 _id 프로퍼티는 PK와 같이 문서에 반드시 포함되어야 한다.(자동생성됨) 원한다면 다른 유니크한 프로퍼티를 _id대신 사용할수도 있다.

주의

_id 속성만 다른 문서와 공통점이 없는 문서들은 지양한다.

duplicate error

문서를 집어넣다가 duplicate error가 난다면 해당 속성을 가진 문서가 이미 있다는 것이다. drop 옵션을 이용하면 에러를 마주치치 않게됨.

배열을 이용한다면 한번의 쿼리로 여러 문서를 집어넣을수 있음. 하지만 어느 순간에 중복키에러가 난다면 그 다음에 예정된 문서들은 집어넣지 않음.

{ordered:false} 옵션을 배열 다음에 넘겨주면 가능!

타이핑에 주의한다.

컬렉션 이름을 잘못 작성한다면 새로운 컬렉션이 생성된다.

몽고 쉘

터미널에서 인스턴스에 접근하고 데이터를 입출력할수 있도록 도와주는 몽고쉘은 자바스크립트를 이용한다

-> 자바스크립트처럼 변수를 사용하고 함수를 사용할수 있다는 의미. 물론 노드환경처럼은 안될거 같다.

댓글남기기