mongoDB 테스트용 json파일 import 및 document(bson) 조회
이미지 출처: https://webassets.mongodb.com/_com_assets/cms/MongoDB-Logo-5c3a7405a85675366beb3a5ec4c032348c390b3f142f5e6dddf1d78e2df5cb5c.png
오늘은 json파일을 이용한 document(bson) import 후 다양한 구문을 이용하여 document(bson)를 조회하는 예제를 작성해 보겠습니다. mongoDB 설치 및 간단한 CRUD 예제는 아래 링크에서 확인하시면 됩니다. mongoDB 설치 및 간단한 CRUD
01. mongoDB sample json파일 다운로드
sample data는 mongoDB Getting Started Guide 페이지에서 다운로드 할 수 있습니다.
Getting Started Guide 링크
https://docs.mongodb.com/getting-started/shell/import-data/
아래 링크를 이용하면 바로 json 파일을 다운로드 받을수 있습니다.
json 파일 링크
https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json
02. json파일 import
a. 관리자 권한으로 커맨드창 실행
b. 명령어
mongoimport.exe --db {db이름} --collection {collection이름} --drop --file {json파일경로}
c. 예시
"C:\Program Files\MongoDB\Server\3.2\bin\mongoimport" --db test --collection restaurants --drop --file D:\mongodb\primer-dataset.json
03. import 완료된 document(bson) 확인
04. 테스트용 데이터 조회
a. name field가 존재하고 field값이 공백이 아닌 document를 name field 기준 오름차순으로 조회
db.restaurants.find({name:{"$exists":true, $ne:""}}).sort({name:1})
b. cuisine field값에 ‘Bagels’ 문자열이 포함된 document를 name field 기준 내림차순으로 조회
db.restaurants.find({cuisine:/Bagels/}).sort({name:1})
c. borough field값에 대한 중복제거
db.restaurants.distinct("borough")
d. address document field에 포함된 child document field 값이 일치하는 document를 조회
db.restaurants.find({"address.zipcode":"11224", "address.building":"2780"})
e. grades document field에 포함된 child array에 포함된 document의 grade field값중 ‘A’ 를 포함하는 document를 조회
db.restaurants.find({"grades.grade":"A"})