상세 컨텐츠

본문 제목

MongoDB CRUD

IT/MongoDB

2020. 6. 12. 15:36

본문

 

아래 web shell 에서 operation을 실행해볼 수 있습니다.

 

db.inventory.insertMany([
   { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
   { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
   { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
   { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
   { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]);

 

Collection의 모든 Documents 조회

db.inventory.find( {} )

 

이 연산은 다음 SQL문에 해당합니다.

SELECT * FROM inventory

 

실행 결과

{ "_id" : ObjectId("5ee2e793568e01adff58a125"), "item" : "journal", "qty" : 25.0, "size" : { "h" : 14.0, "w" : 21.0, "uom" : "cm" }, "status" : "A" }
{ "_id" : ObjectId("5ee2e793568e01adff58a126"), "item" : "notebook", "qty" : 50.0, "size" : { "h" : 8.5, "w" : 11.0, "uom" : "in" }, "status" : "A" }
{ "_id" : ObjectId("5ee2e793568e01adff58a127"), "item" : "paper", "qty" : 100.0, "size" : { "h" : 8.5, "w" : 11.0, "uom" : "in" }, "status" : "D" }
{ "_id" : ObjectId("5ee2e793568e01adff58a128"), "item" : "planner", "qty" : 75.0, "size" : { "h" : 22.85, "w" : 30.0, "uom" : "cm" }, "status" : "D" }
{ "_id" : ObjectId("5ee2e793568e01adff58a129"), "item" : "postcard", "qty" : 45.0, "size" : { "h" : 10.0, "w" : 15.25, "uom" : "cm" }, "status" : "A" }

 

Equal 조건 검색

db.inventory.find( { status: "D" } )

 

query 연산자를 사용하여 아래와 같이 사용할 수도 있습니다.

db.inventory.find( { status: { $eq: "D" } } )

 

이 연산은 다음 SQL문에 해당합니다.

SELECT * FROM inventory WHERE status = "D"

 

실행 결과

{ "_id" : ObjectId("5ee2e793568e01adff58a127"), "item" : "paper", "qty" : 100.0, "size" : { "h" : 8.5, "w" : 11.0, "uom" : "in" }, "status" : "D" }
{ "_id" : ObjectId("5ee2e793568e01adff58a128"), "item" : "planner", "qty" : 75.0, "size" : { "h" : 22.85, "w" : 30.0, "uom" : "cm" }, "status" : "D" }

 

AND 조건 검색

db.inventory.find( { status: "A", qty: { $lt: 30 } } )

 

query 연산자를 사용하여 아래와 같이 사용할 수도 있습니다.

db.inventory.find( { $and: [ { status: "A" }, { qty: { $lt: 30 } } ] } )

 

이 연산은 다음 SQL문에 해당합니다.

SELECT * FROM inventory WHERE status = "A" AND qty < 30

 

실행 결과

{ "_id" : ObjectId("5ee2e793568e01adff58a125"), "item" : "journal", "qty" : 25.0, "size" : { "h" : 14.0, "w" : 21.0, "uom" : "cm" }, "status" : "A" }

 

OR 조건 검색

 

query 연산자를 사용하여 아래와 같이 사용할 수도 있습니다.

db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )

 

이 연산은 다음 SQL문에 해당합니다.

SELECT * FROM inventory WHERE status = "A" OR qty < 30

 

실행 결과

{ "_id" : ObjectId("5ee2e793568e01adff58a125"), "item" : "journal", "qty" : 25.0, "size" : { "h" : 14.0, "w" : 21.0, "uom" : "cm" }, "status" : "A" }

 

관련글 더보기