MongoDB에서 데이터를 읽어보자

Jamie·2020년 12월 1일
0

MongoDB

목록 보기
5/8
post-thumbnail

선행작업

mongoDB 접속

$ mongosh mongodb://localhost:27017/admin?authSource=admin --username jamie

데이터 추가 MongoDB에 데이터를 넣어보자(Insert)

Database 전환

  • 기존에 추가했던 Database인 testDB로 전환
> use testDB;
switched to db testDB

컬렉션 내 모든 데이터 검색

  • 기존에 추가했던 Collection인 inventory 내의 모든 데이터를 검색

    > db.inventory.find({})
    [
      {
        _id: ObjectId("5fc5d9c60e08d0dc37390776"),
        item: 'canvas',
        qty: 100,
        tags: [ 'cotton' ],
        size: { h: 28, w: 35.5, uom: 'cm' }
      }
    ]
  • 이런식으로 하면 변수(?)에 담을 수 있음

    > myCursor = db.inventory.find({})
    [
      {
        _id: ObjectId("5fc5d9c60e08d0dc37390776"),
        item: 'canvas',
        qty: 100,
        tags: [ 'cotton' ],
        size: { h: 28, w: 35.5, uom: 'cm' }
      }
    ]
    
    > myCursor
    [
      {
        _id: ObjectId("5fc5d9c60e08d0dc37390776"),
        item: 'canvas',
        qty: 100,
        tags: [ 'cotton' ],
        size: { h: 28, w: 35.5, uom: 'cm' }
      }
    ]
  • Cursor : 여기선 간단히, find()시 cursor를 반환하는 것만 알아두기

    • cursor 는 query 요청의 결과값을 가르키는 pointer
    • cursor를 반환하기 때문에 변수가 해당 내용을 참조할 수 있는 것
    • 일정 시간(10분정도) 사용하지 않으면 포인터 만료!

Mongo VS Mongosh find() 결과 비교

# Mongo - find시 한 줄로 출력
#       - .pretty()를 붙여주면 여러 줄로 출력
> db.inventory.find({})
{ "_id" : ObjectId("5fc5d9c60e08d0dc37390776"), "item" : "canvas", "qty" : 100, "tags" : [ "cotton" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }
> db.inventory.find({}).pretty()
{
	"_id" : ObjectId("5fc5d9c60e08d0dc37390776"),
	"item" : "canvas",
	"qty" : 100,
	"tags" : [
		"cotton"
	],
	"size" : {
		"h" : 28,
		"w" : 35.5,
		"uom" : "cm"
	}
}

# Mongosh - find와 .pretty() 동일
> db.inventory.find({})
[
  {
    _id: ObjectId("5fc5d9c60e08d0dc37390776"),
    item: 'canvas',
    qty: 100,
    tags: [ 'cotton' ],
    size: { h: 28, w: 35.5, uom: 'cm' }
  }
]
> db.inventory.find({}).pretty()
[
  {
    _id: ObjectId("5fc5d9c60e08d0dc37390776"),
    item: 'canvas',
    qty: 100,
    tags: [ 'cotton' ],
    size: { h: 28, w: 35.5, uom: 'cm' }
  }
]

출처

MongoDB 공식 가이드 - https://docs.mongodb.com/guides/server/read/

profile
성장중인 제이미입니다.

0개의 댓글