기본 데이터
db.inventory.insertMany([
... { item: "journal",status: "A",size:{h:14, w:21, uom:"cm"},instock:[{warehouse:"A",qty:5}]},
... { item: "notebook",status: "A",size:{h:8.5, w:11, uom:"in"},instock:[{warehouse:"C",qty:5}]},
... { item: "paper",status: "D",size:{h:8.5, w:11, uom:"in"},instock:[{warehouse:"A",qty:60}]},
... { item: "planner",status: "D",size:{h:22.85, w:30, uom:"cm"},instock:[{warehouse:"A",qty:40}]},
... { item: "postcard",status: "A",size:{h:10, w:15.25, uom:"cm"},instock:[{warehouse:"B",qty:15},{warehouse:"C",qty:35}]},
... { item: "hat",status: "B",size:{h:12, w:12, uom:"cm"},instock:[{warehouse:"C",qty:20}]},
... { item: "shovel",status: "B",size:{h:80, w:12, uom:"cm"},instock:[{warehouse:"C",qty:100}]},
... { item: "broom",status: "C",size:{h:80, w:8, uom:"cm"},instock:[{warehouse:"A",qty:5},{warehouse:"C",qty:5}]}])
문제1. 창고정리의 시즌이 돌아와 먼지를 뒤집어쓴 창고에서 물품을 정리해야 한다.
측정된 물품의 단위가 in인 물품을 cm로 바꾸려고 한다.
단위가 in인 물품의 목록을 찾아보자.
> db.inventory.find({"size.uom":"in"})
문제2. 창고에 C급, D급인 물품을 찾아서 절반정도의 물량을 창고에서 버리려고 한다. 창고에 C급,D급인 물품을 모두 찾아보자.
> db.inventory.find({$or:[{status:"C"},{status:"D"}]})
문제3. B창고에 길고 가느다란 공간이 비어서 그 빈 공간을 채우기 위해 폭(w)이 15cm보다 작고 높이(h)가 50cm이상, 100cm이하인 물품을 찾아서 채워넣으려고 한다.
> db.inventory.find({$and:[{"size.w":{$lte:15}},{"size.h":{$gte:50}},{"size.h":{$lte:100}}]})
'MongoDB' 카테고리의 다른 글
Node.js와 Mongodb 연동 기본(TypeError : db.collection is not a funtion오류해결) (0) | 2019.11.14 |
---|---|
mongoDB aggregation (pipeline) (1) | 2019.11.12 |
MongoDB query 이해하기 (0) | 2019.11.07 |
MongoDB 기본 명령어(Create, Read,Delete,Update) (0) | 2019.11.06 |
MongoDB 이해하기 (0) | 2019.11.05 |