#2. mongo db 사용 명령어

sjee·2021년 8월 20일
0

이상 초과 / 이하 미만

이상 : gte

db.numbers.find(num:{$gte:1992})

초과 : gt

db.numbers.find(num:{$gt:123})

이하 : lte

db.numbers.find(age:{$lte:20})

미만 : lt

db.numbers.find(age:{$lt:34})




명령어


update

db.users.update( {name: "luna"},
{
$set: {
favorites: {
cities: ["Chicago", "Cheyenne"],
movies : ["Casablanca", "For a Few Dollars More", "The String"]
}
}
})

위와 같은 set도 가능




pretty

  • 보기 좋게 정렬



document 수

db.collection이름.count()




여러개의 document 삽입

db.collection이름.insertMany( [
{ 데이터 1 },
{ 데이터 2 },
{ 데이터 3},
...
])

  • 자동으로 _id 가 부여됐다


필드 명 변경

db.collection이름.update({수정할 필드 조건}, {$rename:{수정할 필드: 필드명} })

  • glove 의 prce 필드가 수정된 것을 볼 수 있다.




aggregate

sqlMongoDB
WHERE$match
GROUP BY$group
HAVING$match
SELECT$project
LIMIT$limit
ORDER BY$sort
SUM()$sum
COUNT()$sum
join$lookup

현재 test db 내용

$match

조건에 맞는 document 만 가져온다.

db.collection이름.aggregate(
[ {$match : { 조건 } } ]
)



$group

  • document 에 대한 그룹핑 실행

  • 그룹에 대한 _id 를 지정해야한다

    db.collection이름. aggreage(
    [ {$group : {
    조건 1,
    조건 2,
    조건 3,
    .. }
    } ]
    )

  • 이때 다양한 명령어를 사용할 수있다. -> https://docs.mongodb.com/manual/reference/operator/aggregation/

  • document 에 있는 필드명을 가져올때에는 를붙여주고,문자열인경우는"를 붙여주고, 문자열인 경우는 "필드명" 으로 가져온다

  • 클래스를 id 값으로 한다.

  • 클래스를 id 값으로 하는 새로운 document를 만든다고 생각하고 새롭게 필드와 내용을 넣어준다!

  • price 필드는 같은 클래스에 있는 price 필드의 평균으로 한다.

profile
블록체인/ 보안 / 해킹

0개의 댓글