본문으로 바로가기

$slice (between)

* 배열 요소의 부분 집합을 가져옴./ 배열에만 쓸수 있다.

* 어디부터 어디까지 범위 지정 가능

* paging 처리와 같은 기능


블로그 게시물의 먼저 달린 댓글 열 개를 받아오기

db.c.findOne( {…조건…}, { “comment” : {“$slice” : 10} } )


블로그 게시물의 나중에 달린 댓글 열 개를 받아오기

db.c.findOne( {…조건…}, { “comment” : {“$slice” : -10} } )


블로그 게시물의 댓글 중 10 부터 20까지를 가져오기

db.c.findOne( {…조건…}, { “comment” : {“$slice” : [10, 10]} } )




limit

* 결과 개수, 순서에는 상관이 없음

* 조건없이 몇개만 보여줌 ( slice 차이점 익히기 )

* 전체 조회한 것 중 30개만 가져온다. ( rownum < 30 )

db.c.find().limit(30);




skip

* 결과 건너띄기

* 조건과 맞는 처음 3개를 건너띄고 그 나머지 결과를 반환.

db.c.find().skip(3);


sort

* 정렬하기

* username은 오름차순, age 는 내림차순 정렬하기

* 1은 오름차순

* -1은 내림차순

db.c.find().sort({“username” : 1, “age” : -1})




*위 4개 동시에 쓸수 있음

결과를 제한하고 정렬하기

상품명이 mp3 이고 가격기준 내림차순 정렬해 한 페이지당 50개씩 보여주기

db.c.find({“desc” : “mp3”}).limit(50).sort({“price” : -1})

다음페이지

db.c.find({“desc” : “mp3”}).limit(50).skip(50).sort({“price” : -1})




db.post.find().limit(5).skip(5)



db.post.find().sort({"id":-1}).skip(3).limit(4)




================================


mongod = D:Demon => Linux / Unix