[서론]
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
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 가 존재하고 각 키에 값이 존재한다.
정확한 정의가 맞는지 모르겠지만 배열(리스트) 는 인덱스(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 |