검색결과 리스트
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
mongo.exe를 실행하여 아래와 같이 쿼리를 테스트하였다.
1. DB선택
test라는 DB를 사용하겠다고 아래와 같이 입력한다.
> use test
switched to db test
실제로 DB가 변경되었는지 확인하기 위해 아래와 같이 입력한다.
> db
test
2. 화면지우기
명령프롬프트와 마찬가지로 화면을 지우기 위해서는 cls를 사용할 수 있다.
> cls
3. 문서 생성하기
먼저 변수에 문서를 하나 할당한다.
> person = { "name" : "neo", "age" : 20, "regdate" : new Date() }
{
"name" : "neo",
"age" : 20,
"regdate" : ISODate("2012-12-27T18:49:12.699Z")
}
> db.person.insert(person)
4. 문서 추가하기
#3처럼 변수를 통해 문서를 생성할 수 있으나, 아래처럼 insert에 바로 입력해도 된다.
> db.person.insert({ "name" : "joe", "age" : 21, "regdate" : new Date() })
5. 이미 생성된 문서에 항목 추가하기
이름이 neo인 문서에 gender 항목 추가
> db.person.update({ name : "neo" }, { $set : { gender : "M" }})
이름이 joe인 문서에 gender 항목 추가
> db.person.update({ name : "joe" }, { $set : { gender : "F" }})
6. 생성된 문서를 조회
> db.person.find()
> db.person.findOne()
> db.person.find({ name : "neo" })
> db.person.find({ name : "neo", $or : [{ age : 20 }, { age : 21 }] });
> db.person.find({ name : "neo", $nor : [{ age : 20 }, { age : 21 }] });
> db.person.find({ age : { $in : [20, 21] }})
> db.person.find({ age : { $nin : [20, 21] }})
특정 항목만 조회 / 특정 항목만 제외하고 조회
> db.person.findOne({ name : "neo" }, { name : 1, regdate : 1 })
{
"_id" : ObjectId("aaaaaaaaaaaaaaaaaaaaa"),
"name" : "neo",
"regdate" : ISODate("2012-12-27T18:49:12.699Z")
}
> db.person.findOne({ name : "neo" }, { name : 0, regdate : 0 })
{
"_id" : ObjectId("aaaaaaaaaaaaaaaaaaaaa"),
"age" : 21,
"gender" : "M"
}
항목의 값이 null인 문서만 조회
> db.person.find({ name : null })
> db.person.find({ name : { $type : 10 }}) // $type = 10이 null 값
조회 시 정렬
- 내림차순 정렬 (DESC)
> db.person.find().sort({ name : 1 })
- 오름차순 정렬 (ASC)
> db.person.find().sort({ name : -1 })
제한된 조회
- TOP 2 혹은 LIMIT 0,2 처럼상위 2개만조회
> db.person.find().limit(2)
- LIMIT 2,2 처럼상위 2개를건너 3,4번째만조회
> db.person.find().limit(2).skip(2)
문서의 갯수 확인
> db.person.count()
> db.person.find({ name : "neo" }).count()
문서 중 특정항목이 없는 문서 확인
> db.person.find({ name : { $exists : false } })
나머지값 연산
>db.person.find({ age : { $mod : [5] } }) // mod(age,5) = 0
>db.person.find({ age : { $mod : [5,1] } }) // mod(age,5) = 1
7. 항목의 값을 변경하기
항목의 문자열값을 변경
> db.person.update({ name : "joe" }, { $set : { gender : "M" }})
항목의 숫자값에 가감을 하여 변경
>db.person.update({ name : "neo" }, { $inc : { age : 1 }})
>db.person.update({ name : "neo" }, { $inc : { age : 10 }})
>db.person.update({ name : "neo" }, { $inc : { age : -11 }})
8. 문서지우기
> db.person.remove({ name : "joe" })
> db.person.remove()
0. ETC
$set
문서에항목이있다면그항목의값을변경하고, 항목이없다면그항목을지정된값으로추가한다.
$inc
숫자형값에만사용할수있는제한자로숫자를가감할때사용한다.
$maxscan
쿼리시조회할최대의문서수를지정한다.
> db.person.find( { } )._addSpecial( "$maxscan", 10 )
> db.person.find( { $query : { }, $maxscan : 10 } )
$min
쿼리시특정키의값이최소 x까지만조회
> db.person.find().min( { age : 21 } )
$max
쿼리시특정키의값이최대 x까지만조회
> db.person.find().max( { age : 21 } )
$explain
실제로쿼리를수행하지않고쿼리플랜을표시한다.
> db.person.find().explain()
'-- MongoDB' 카테고리의 다른 글
[MongoDB] 조건연산 (0) | 2013.01.02 |
---|---|
[MongoDB] $Type 연산자의 값 (0) | 2012.12.28 |
[MongoDB] ObjectID 구조 (0) | 2012.12.27 |
[MongoDB] MongoDB 기본요소 (0) | 2012.12.27 |
[MongoDB] MongoDB 핵심기능 (0) | 2012.12.21 |
RECENT COMMENT