MongoDB 및 COUCHDB 쿼리 메서드의 NoSQL 남북 전쟁: 비교

출처: 인터넷
작성자: 사용자
키워드: nbsp 대비 남북 전쟁 HTTP

"클래식 51CTO" MongoDB 및 Couchdb는 NoSQL 데이터베이스 종종 볼 수 있습니다 지금 유행 그리고 공통점이 많은, JSON 문서 형식을 사용 하는 두 문서 지향 데이터베이스 하지만 쿼리에, 차이 분명, COUCHDB MONGODB 지원 동적 쿼리 (전통적인 관계형 데이터베이스에 대 한 임시 쿼리를 본질적으로 유사한), 동안 미리 정의 된 보기 (기본적으로 자바 mapreduce 기능), 요구 하 고 더 중요 한 것은, 그것에 올 때 쿼리, COUCHDB API는 편안한, MongoDB API는 더 네이티브 쿼리를 드라이버를 사용 하 여 코드에서 이루어집니다.

예를 들어 COUCHDB를 사용 하면 일부 데이터를 삽입할 Groovy의 restclient 등 일부 외부 도구를 사용할 수 있습니다.

정적 Groovyx.net.http.ContentType.JSON 가져오기 groovyx.net.http.RESTClient 데 프 클라이언트 가져오기 새로운 Restclient = ("http: localhost:5498 / ") 응답 = Client.put (경로:" parking_tickets/1234334325 ", Contenttype:json, Requestcontenttype           : JSON, 몸: [장교: 로버트 회색, 위치: "199 성 박사", vehicle_plate: "뉴욕 77777", 공격: "아무 주차 구역에 주차", 날짜: "2010/07/31"]

이 경우에 유의 나 주차 위반 딱지에 대 한 숫자 (1234334325)를 지정 하며, 덧붙여, / _uuids 경로에 HTTP GET 요청 같은 UUID를 사용 하 여 couchdb를 필요.

51CTO 편집자 추천: 강한 망고: MongoDB에

예를 들어 장교 회색에 의해 모든 티켓을 알아낼 싶 었 어 요, 만약 나 했다 그래서 난 빨리 로버트 크거나 장교 속성을 추출 하는 함수를 구현할 수 있는 JavaScript mapreduce 함수를 실행 하는 간단한 URL은 뷰 정의 모든 회색의 문서.

기능 (DOC) {경우 (Doc.officer = = "로버트 회색") {Emit (null, DOC); }  } 

이 보기는 이름을 해야 하 고 내가이 보기에는 HTTP GET 요청을 보낼 때 난 적어도 문서를 얻을 수 있다.

응답 = client.get (경로: "Parking_tickets/_view/by_name/officer_grey", Contenttype:json, Requestcontentt  Ype:json) response.data.total_rows 주장 1 response.data.rows.each{assert it.value.officer = = = = "로버트 회색" } 

일반적으로, 신속 하 게 임시 편리한 전화 쿼리 정보를 보낼 수 없습니다 COUCHDB를 사용 하는 경우 먼저 쿼리 (뷰 라고도 함)를 정의 고 그것을 노출 해야 합니다. 반대로, MongoDB를 사용 하 여, 그것은 많은 다른 대부분의 관계형 데이터베이스에서 그리고 실행 시 보고 싶어 어떤 정보를 쿼리할 수 있습니다.

예를 들어 여기 주차 티켓 인스턴스 MongoDB의 기본 Java 드라이버를 사용 하 여 구현 하는:

Dbcollection 콜 = db.getcollection ("Parking_tickets");     Basicdbobject 의사 = 새로운 Basicdbobject ();  Doc.put ("장교", "로버트 회색");  Doc.put ("위치", "199 성 박사");  Doc.put ("Vehicle_plate", "뉴욕 77777");  ... Coll.insert (DOC);

나중 내가 로버트 스미스에서 발급 하는 주차 티켓을 확인 하려면, 단순히 같은 장교 특성 값 수정:

basicdbobject 쿼리 = 새로운 Basicdbobject ();  Query.put ("장교", "로버트 스미스");   Dbcursor cur = coll.find (쿼리);   동안 (Cur.hasnext ()) {System.out.println (Cur.next ()); } 

MongoDB 및 couchdb 많은 유사점을가지고 있지만 쿼리 측면 중요 한 차이, 비록 COUCHDB를 MapReduce를 사용 해야 하지만 MongoDB 동적 지향 쿼리 물론, MongoDB는 MapReduce를 지 원하는 것입니다.

원래 제목: MongoDB 및 couchdb: 다른 쿼리

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.