이상 : 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})
db.users.update( {name: "luna"},
{
$set
: {
favorites: {
cities: ["Chicago", "Cheyenne"],
movies : ["Casablanca", "For a Few Dollars More", "The String"]
}
}
})
위와 같은 set도 가능
db.collection이름.count()
db.collection이름.
insertMany
( [
{ 데이터 1 },
{ 데이터 2 },
{ 데이터 3},
...
])
db.collection이름.update({수정할 필드 조건}, {
$rename
:{수정할 필드: 필드명} })
sql | MongoDB |
---|---|
WHERE | $match |
GROUP BY | $group |
HAVING | $match |
SELECT | $project |
LIMIT | $limit |
ORDER BY | $sort |
SUM() | $sum |
COUNT() | $sum |
join | $lookup |
현재 test db 내용
조건에 맞는 document 만 가져온다.
db.collection이름.aggregate(
[ {$match : { 조건 } } ]
)
document 에 대한 그룹핑 실행
그룹에 대한 _id 를 지정해야한다
db.collection이름. aggreage(
[ {$group : {
조건 1,
조건 2,
조건 3,
.. }
} ]
)
이때 다양한 명령어를 사용할 수있다. -> https://docs.mongodb.com/manual/reference/operator/aggregation/
document 에 있는 필드명을 가져올때에는 필드명" 으로 가져온다
클래스를 id 값으로 한다.
클래스를 id 값으로 하는 새로운 document를 만든다고 생각하고 새롭게 필드와 내용을 넣어준다!
price 필드는 같은 클래스에 있는 price 필드의 평균으로 한다.