mongo
cmd창에서 몽고디비를 사용하기위해 mongo 명령을 사용합니다
( 몽고디비가 설치 되어있어야합니다 )
db
db명령어로 어떤 db가 들어있는지 볼수있습니다.
db.jstest.insertOne({name:'test',
age:100,
class:'qclass'})
insertOne은 하나의 데이터를 삽입하는 함수입니다.
기본적으로 db.컬렉션.함수 형태로 명령을 입력하는데 컬렉션은 존재 하지 않을경우 자동으로 생성됩니다.
삽입에 성공하면 위처럼 외계어처럼 뭔가가 나오네요!
db.jstest.find()
find()함수를 이용해서 해당 컬렉션에 들어있는 모든 값을 볼수 있습니다.
show collections
show collections 명령은 존재하는 collection들을 볼수있습니다.
db.jstest.insertOne({name:'test', class:'rclass', color: 'greendldy!'})
데이터를 하나더 삽입해보겠습니다.
db.jstest.find()
모든 데이터가 다 나옵니다!
var cursor = db.jstest.find()
cursor
cursor
명령을 변수에 저장해놓고 변수로 실행할수도 있습니다!
대신 이러한 변수는 1회용으로 한번 실행되면 다시 실행되지않네요
var today = new Date()
today
JavaScript처럼 사용할수 있기때문에 자바스크립트의 함수도 사용할수 있습니다.
db.qclass.insertOne({name:'hong-gd', class:'qclass', kor: 100, eng: 100, math: 50})
다른 컬렉션으로 데이터를 다시 삽입해보겠습니다.
db.qclass.find()
잘 출력이 됩니다!
var lee = {name: 'lee-ss',
midterm:{kor: 70, eng: 90, math: 100},
final:{kor: 100, eng: 90, math: 100},
class:'qclass'}
db.qclass.insertOne(lee)
db.qclass.find()
변수로 담아놓고 변수를 insert할수도 있습니다.
그러면 해당 변수에 담겨있는 데이터를 실행합니다.
db.qclass.insertMany([
{name:'kim-sd', class:'qclass', kor: 100, eng: 100, math: 100},
{name:'kang-hd', class:'qclass', midterm:{kor:50, eng: 20, math:50}}
])
db.qclass.find()
insertMany는 한번에 어려 데이터를 삽입할때 사용됩니다.
여러데이터를 삽입하는데 insertOne을 사용하면 에러가 발생합니다.
-- RDB : INSERT INTO QCLASS(name, kor, eng, math) VALUES('shin-dy', 100, 80, 40)
-- SQL의 뭐리문으로 입력하면 실행되는 위의 명령을 qclass collection에 저장하자.
db.qclass.insertOne({name:'shin-dy', kor: 100, eng: 80, math: 40})
db.qclass.find()
가능 하시다면 위의 주석만 보고 해당 명령을 작성할수 있도록 해보세요!
db.qclass.insertOne({_id:1, name:'y-js', class:'qclass'})
-- SELECT * FROM QCLASS WHERE NAME = 'y-js';
db.qclass.find({name:'y-js'})
RDB의 문법으로는 위의 주석과 같은데 name이 y-js인 것들만 출력합니다.
조건이 붙는것입니다.
db.qclass.find({}, {name:1})
db.qclass.find({}, {_id:0, name:1})
db.qclass.find({}, {_id:0, name:1, midterm:1})
_id:0을 포함할경우 id값은 출력되지않습니다.
RDB에서 어떤 컬럼을 출력할지 묻는것과 같습니다.
앞에 나온 비어있는 {}는 바로 아래에서 다루겠습니다.
db.qclass.find({midterm:{$exists: true}}, {_id:0, name:1, midterm:1})
$exists:true로 인해서 midterm가 있는 데이터만 찾아옵니다.
앞서 나온 {}은 조건이고 단일로 조건만 쓰일경우 모든 컬럼을 다 찾아온다는 의미와 같습니다.
'NoSQL > MongoDB' 카테고리의 다른 글
[MongoDB] 몽고디비 데이터 출력시 조건걸기 (0) | 2022.04.21 |
---|---|
[MongoDB] 몽고디비 데이터 수정(update), 삭제(delete) (0) | 2022.04.20 |
[MongoDB] 몽고디비 함수 sort(), limit(), skip() (0) | 2022.04.19 |
[MongoDB] 몽고디비(MongoDB) 설치하기 (0) | 2022.04.17 |