Database/MongoDB

[MongoDB] Insert Documents

Any Developer 2021. 11. 11. 20:38

[서론]

MongoDB Collection 에 Docuement 삽입 관련

 

[본론]

아래는 MongoDB 공식 사이트에 관련 문서 내용이다.

 

Insert Documents — MongoDB Manual

 

Insert Documents — MongoDB Manual

Docs Home → MongoDB Manual➤ Use the Select your language drop-down menu in the upper-right to set the language of the examples on this page.This page provides examples of insert operations in MongoDB.Creating a CollectionIf the collection does not curr

docs.mongodb.com

 

 

JSON 형식으로 아래와 같은 형식으로 입력하면 된다.

{ item: "journal", qty: 30, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } }

 

key 이름 : value 값 형태로 정의되고 별도로 데이터 타입은 정수, 부동소수점실수, 불리언, 리스트, 딕셔너리 등을 지워하는 것 같다.

 

값을 문자열로 정의하기

item: "journal" 과 같은 key-value 형태로 입력한다. (다음 키를 정의할 때는 콤마로 구분한다.)

 

값을 정수로 정의하기

qty: 30 과 같은 형태로 문자열과는 대르게 " " 가 없다.

 

값을 부동소수점(실수)로 정의하기

pi : 3.14 와 같이 소수점을 찍어준다.

테스트 결과 SI 표기법(u, m, k, M, G) 는 되지 않지만 엔지니어링 표기법 (10e-3 등과 같이 e(=X10^) ) 은 되는 것을 확인되었다.

 

값을 불리언으로 정의하기

boolval : true, boolval2 : false 와 같이 입력한다.

True, False 와 같이 대문자는 안되고 소문자로만 지정한다.

 

시간데이터

 

Date() — MongoDB Manual

 

Date() — MongoDB Manual

Docs Home → MongoDB ManualDate()Returns a date either as a string or as a Date object.Date() returns the current date as a string in mongosh.new Date() returns the current date as a Date object. mongosh wraps the Date object with the ISODate helper. The

docs.mongodb.com

 

- 날짜/시간 입력하기

timestamp1 : new Date()

위 기능을 실행해 보니 UTC+0 기준으로 입력된다... (한국시간으로 9시간 느린 시간이 입력된 후 +00:00 라고 입력되며 

UTC+9 라고 생각하면 위 함수를 그대로 사용했을 때 시간이 맞긴 하지만.... 뭔가.. 다른 방법을 또 찾게된다..)

 

timestamp1 : new Date("<YYYY-mm-dd>") 의 형태,., 그러니깐

timestamp1 : new Date("2021-11-11") 라고 입력하니

이렇게 표기된다...

곰곰히 생각을 해보니.. 2021년 11월 11일 00시 00분 00초 (UTC+9) 는

2021년 11월 10일 15시 00분 00초 (UTC+0) 이 맞긴 하다....

 

timestamp1 : new Date("2021-11-11T21:51:50") 로 입력하니..

 

UTC+0이 적용된 상태로 입력된다.

 

timestamp1 : new Date("2021-11-11T21:51:50Z") 로 입력하니..

 

+00:00 이 좀 찝찝하긴 하지만 정상적으로 입력된다.

 

아래과 같은 방식으로도 입력이 가능하다.

 

timestamp1 : ISODate("2021-11-11T21:51:50Z")

 

와 같은 형태로 입력해도 위 new Date("2021-11-11T21:51:50Z") 와 같은 결과인 듯 하다.

 

 

Null 데이터

nullData : null 와 같이 입력한다.

 

배열 데이터

- 문자열, 정수, 실수 불리언 타입의 배열 형태 (사실상 배열이라는 용어보다는 리스트라는 용어가 더 맞을지 모르겠다....)

- 특징은 인덱스를 갖는다.

 

argArray : ["Test","IOTECH","YUTY"]       # 문자열 형태

argArrayInt : [1,2,3]

argArrayFloat : [1.0, 2.0, 2.1]

argArrayArray : [ [1,0], [2,3], [3,4] ]        # 배열내부에 배열 데이터 형태

argComplexArray : [1, "Test", false]

 

등 여러가지 형태로 응용할 수 있다.

 

 

딕셔너리 데이터

size: { h: 14, w: 21, uom: "cm" }   와 같은 형태로 딕셔너리 이름은 size 이고

내부 키 h, w, uom 가 존재하고 각 키에 값이 존재한다.

 

mongoDB Compass 에서 Object

 

정확한 정의가 맞는지 모르겠지만 배열(리스트) 는 인덱스(index-순서)를 가지고 있고, 딕셔너리는 키(key-이름) 을 가지고 있는 형태인 듯 하다.

 

[결론]

JSON 에서 말하는 용어가 위에서 정의한 용어와 동일한지 모르겠다.  나름 다른 언어를 공부한 베이스로 이것은 이런 형태와 같으니 이건 이거다 저건 저거다 라고 단정한다면 전문가들이 보았을 때 비웃을 얘기지만... 포스팅 자체가 앝지만 공부한 (진행한) 내용을 다음에도 찾아서 활용하려는 목적이다 보니 더 시간을 끌기 보다는 간략하게 정리하고 마무리하고 퇴근하는게 맞을 듯 하다.

 

'Database > MongoDB' 카테고리의 다른 글

[MongoDB] JSON & BSON 의 차이  (0) 2021.11.12
[MongoDB] Find Documents  (0) 2021.11.11
[MongoDB] 외부 접속 하용하기 (윈도우)  (0) 2021.11.11
[MongoDB] connection String  (0) 2021.11.11
[MongoDB] User 생성하기  (0) 2021.11.11