서비스를 운영하다보면 유저들에게 수많은 상품들을 출력해줄 때가 많습니다. 상품이 많아지다보면 page별로 출력하는게 서버에서는 부담이 될때가 있습니다... (속도가 느려진다던지, sort 기준이 애매하다던지) 빠르게 출력하기위해선 어떤 방법을 취해야할까요? 2가지 방법으로 나눈 다음 설명 들어가겠습니다. 방법 1) db 출력후 -> 서버에서 sort 후 -> slice(분할) 작업 하여 page 별로 나눈다음 -> 프론트에 넘긴다. 장점 -> custom한 sort가 쉽다. 단점 -> 데이터가 많아지면 많아질수록 느려진다. 방법 2) db 검색 할때 미리 필요한 sort값을 저장 후 split(분할) 작업과 sort 작업을 한 후 -> 프론트에 넘긴다. 장점 -> 데이터가 많아 지더라도 속도가 빠르고 보..
보통 다른 서버를 두고 진행하지만 저는 테스트를 위해 local 에서 진행하였습니다. 1. config 파일을 기본적으로 설정해줍니다. ( replice를 위해 2개 생성) mongodb1.conf 파일 # Where to store the data. - 폴더 만드시고 실행하세요 dbpath=/home/somefolder/replica/db1 #where to log logpath=/home/somefolder/문서/replica/log1 logappend=true bind_ip = 127.0.0.1 port = 50001 # Enable journaling, http://www.mongodb.org/display/DOCS/Journaling journal=true #replica replication:..
안녕하세요. 여행의 직구 개발자 jun 입니다. 이번에 몽고 3.6 버전으로 업데이트 되면서 많은 기능이 개편되었는데요. 그 중에서도!! 아주 유용한 배열을 식별자를 통하여 바로 검색하여 업데이트 할 수 있도록 개편이 되었습니다. 3.6 버전 부터 적용 되기 때문에 꼭 몽고DB를 업데이트해주셔야합니다!! 가장 중요한점!!! 3.6 이전에 버전에서 저장되어 있던 db 데이터들 또한 dump파일을 만드시고 몽고DB 3.6 버전이상에서 restore하셔야 사용가능합니다! 그냥 몽고DB 버전만 업데이트하시고 사용하시면 identifier가 적용 안되니 꼭 주의해주시길 바랍니다. ^-^ 일단 간단히 예시 부터 보도록 합시다. 공식 문서 : https://docs.mongodb.com/manual/reference..
MongoDB 검색쿼리 특정 조건 빼고 찾기 예: 아이디가 ------인 사람빼고 다 찾기 한개일 때는,$ne 여러개일 때는, 배열로$nin을 쓰면 됩니다. $ne 예시: qty가 20인거 빼고 다찾기 db.inventory.find( { qty: { $ne: 20 } } ) $nin 예시:qty가 5나 15인거 빼고 다찾기 db.inventory.find( { qty: { $nin: [ 5, 15 ] } } ) 공식문서https://docs.mongodb.com/manual/reference/operator/query/ne/