다음은 SQL 쿼리를 MongoDB의 쿼리 언어로 변환하는 Perl 관련 예제입니다. JavaScript(또는 다른 언어)에 대한 매핑을 보려면 http://docs.mongodb.org/manual/reference/sql-comparison/ 참조하세요. 레코드를 업데이트하려면 db.tablename.update({기준},{$set: {새 값}}}를 사용합니다. 아래 예제에서 사용자 이름의 암호 : „mkyong”이 업데이트됩니다. 8.2 인덱스를 만들려면 db.tablename.ensureIndex(열)를 사용합니다. 아래 예제에서는 „사용자 이름” 열에 인덱스가 만들어집니다. 위에서 이미 살펴본 것처럼 Array 데이터에 대해서도 여러 조건을 나열할 수 있습니다. 예를 들어 지리적 좌표 값이 41보다 크고 -60 미만인 레스토랑을 쿼리하려고 합니다. `,`(쉼표) 뒤에 여러 조건을 추가할 수 있습니다. 오늘은 MongoDB 데이터로 효과적으로 작업할 수 있도록 많은 예제를 통해 MongoDB 쿼리의 기본 사항을 안내합니다.
Exploratory의 UI를 사용하여 시연할 예정이지만 모든 예제는 Mongo Shell을 비롯한 다른 도구와 함께 사용할 수 있습니다. MongoDB를 사용하면 깊이 중첩된 구조를 저장한 다음 점 표기어를 사용하여 해당 구조내의 필드를 쿼리할 수 있습니다. 예를 들어 다음과 같은 문서가 있는 사용자 컬렉션이 있다고 가정합니다. 예를 들어 이름이 `Deli`가 포함된 레스토랑을 쿼리하려는 경우 아래와 같은 것을 입력할 수 있습니다. 예를 들어 Perl에서 db.foo.validate를 사용한다고 가정합니다. 실행할 수 있습니다: 포함된 전체 문서의 같음 일치항목은 필드 순서를 포함하여 지정된 문서의 정확한 일치가 필요합니다. 예를 들어 다음 쿼리에서는 필드 크기가 문서 {h: 14, w: 21, uom: „cm” }와 같은 모든 문서를 선택합니다. 포인트`. 동등한 SQL 여기서 절은 `좋아요>10 AND (by = `tutorials point` OR TITLE = `MongoDB 개요`)` 태그가 해당 요소 중 하나로 „빨간색”문자열을 포함하는 배열인 모든 문서에 대한 다음 예제 쿼리입니다: 이 쿼리 조건은 실제로 각 목록 의 모든 값을 테스트 하 고 그 중 하나 (경도 또는 위도) 조건을 충족 하는 한 TRUE를 반환 합니다.
예를 들어 위의 첫 번째 행은 `153.1628795`의 첫 번째 값이 두 번째 가 그렇지 않더라도 조건을 충족하기 때문에 반환됩니다. 그러나 두 번째 행의 경우 목록의 두 번째 행이 첫 번째 행이 없는 경우에도 조건을 충족하기 때문에 반환됩니다. 예를 들어 지리적 좌표 위치의 `위도`가 40보다 크고 41보다 큰 레스토랑을 쿼리한다고 가정해 보겠습니다. 위도가 이 데이터 집합의 목록 내의 2번째 값이라는 것을 알고 있으므로 1을 위치로 사용할 수 있습니다. (MongoDB 쿼리는 0으로 시작하는 `제로 기반 인덱싱`을 사용합니다.) 두 날짜 또는 시간 사이에 데이터를 쿼리하려는 경우 두 가지 조건을 추가하면 하나는 `같고 같음`에 대한 조건은 다른 조건을 `보다 적고 같음`입니다. 예를 들어 좌표 값이 40보다 크고 41보다 큰 레스토랑을 쿼리한다고 가정해 보겠습니다. $group 파이프라인 연산자는 SQL에서 GROUP BY와 같이 사용됩니다. 예를 들어 여러 지역 비즈니스가 „비즈니스” 컬렉션에 저장되어 있다고 가정합니다.