> Java > java지도 시간 > 본문

Java에서의 MongoDB 사용 가이드 코드 공유

黄舟
풀어 주다: 2017-04-01 10:39:15
원래의
1600명이 탐색했습니다.

MongoDB는 오늘날 매우 인기 있는 NoSQL 데이터베이스입니다. 이 글에서는 MongoDB의 Java 드라이버를 사용하여 MongoDB를 운영하는 방법을 소개합니다.

1. MongoDB Java Driver 패키지를 소개합니다

MongoDB를 운영해야 하는 Java 프로젝트가 Maven 프로젝트인 경우 다음 구성을 추가하면 됩니다. 종속성.

<dependencies>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>2.13.2</version>
    </dependency>
</dependencies>
로그인 후 복사

또는 jar 패키지(다운로드 주소: mongo-java-driver-2.13.2.jar)를 직접 다운로드하여 사용하세요.

MongoDB jar 패키지 도입 방법에 대한 자세한 내용은 공식 문서를 참고하세요.

2. MongoDB에 연결

MongoClient을 사용하여 MongoDB에 연결할 수 있습니다. MongoClient

MongoClient mongoClient = new MongoClient("localhost", 27017);
DB db = mongoClient.getDB("mydb");
로그인 후 복사

위 코드는 다음과 같습니다. localhost:27017 서비스의 MongoDB를 실행하고 mydb 데이터베이스를 사용하도록 지정합니다. 연결한 후에는 이 데이터베이스에 대해 추가 작업을 수행할 수 있습니다.

은 스레드MongoClient안전하고 다중 프로세스 환경에서 동일한 을 공유할 수 있다는 점을 지적해야 합니다. 일반적으로 애플리케이션에서는 전역 MongoClient 인스턴스를 생성한 다음 프로그램의 다른 위치에서 이 인스턴스를 사용하기만 하면 됩니다. MongoClient

3. 인증

다음에는 여러 가지 방법을 사용하여 연결을 인증할 수 있습니다.

1. 방법 1: MongoCredential

클래스의 MongoCredential 메서드는 사용되는 인증 사용자 이름, 비밀번호 및 데이터베이스를 지정하고 createCredential<🎜을 반환할 수 있습니다. > 객체MongoCredential. 해당 메서드 선언은 다음과 같습니다.

예를 들어

MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray();
로그인 후 복사

는 사용자 이름이 user, 비밀번호가 비밀번호, 데이터베이스가 mydb인

개체를 생성합니다.

MongoCredential

생성자

함수의 MongoCredential 매개변수로 MongoClient 객체를 생성합니다. 생성자 MongoClient<a href="http://www.php.cn/wiki/1059.html" target="_blank">List<a href="http://www.php.cn/wiki/77.html" target="_blank">< ; 유형이므로 먼저 목록으로 구성한 다음 전달해야 합니다. 전체 인증 예시는 다음과 같습니다.

MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray()); 
ServerAddress serverAddress = new ServerAddress("localhost", 27017); 
MongoClient mongoClient = new MongoClient(serverAddress, Arrays.asList(credential)); 
DB db = mongoClient.getDB("mydb");
로그인 후 복사
<a href="http://www.php.cn/wiki/1059.html" target="_blank">List</a><MongoCredential>2. 방법 2: MongoClientURI

를 사용하여 URI 개체를 나타내는 MongoDB 인증을 완료할 수도 있습니다.

의 생성자는 String 유형의 MongoClientURI 문자열 MongoClientURI을 허용합니다. 이 문자열의 형식은 다음과 같습니다.

에 의해 생성된

개체는 <의 매개 변수로 사용됩니다. 🎜> 생성자, 완료 인증 예시는 다음과 같습니다:

String sURI = String.format("mongodb://%s:%s@%s:%d/%s", "user", "password", "localhost", 27017, "mydb"); 
MongoClientURI uri = new MongoClientURI(sURI); 
MongoClient mongoClient = new MongoClient(uri); 
DB db = mongoClient.getDB("mydb");
로그인 후 복사
MongoClientURI 4. MongoClient
DBCollection coll = db.getCollection("mycol");
로그인 후 복사

컬렉션을 가져온 다음 지정된 컬렉션에 대해 작업을 수행할 수 있습니다(예: 삽입,

삭제

, 검색,

업데이트된 문서 등. 5. 문서 삽입

예를 들어 문서는 다음과 같이

Json

으로 표시됩니다. 이제

{ “name”: “mongo”, “info”: { “ver”: “3.0” } }
로그인 후 복사
를 mycol 컬렉션에 삽입해야 합니다. . 컬렉션에 삽입하려면 BasicDB</a>Object</p>를 사용하여 문서를 구성하면 됩니다.

BasicDBObject doc = new BasicDBObject("name", "mongo").append("info", new BasicDBObject("ver", "3.0"));
coll.insert(doc);
로그인 후 복사
BasicDB<a href="http://www.php.cn/wiki/60.html" target="_blank">Object</a> 6. 문서 찾기

1. findOne을 통해 적합한 문서 찾기

를 통해 적합한 문서를 찾을 수 있습니다. 예를 들어 위의 mycol 컬렉션에 대해

DBObject myDoc = coll.findOne();
System.out.println(myDoc);
로그인 후 복사
findOne 명령을 실행하면 mycol 컬렉션의 첫 번째 문서가 출력됩니다.

의 검색 매개변수를 지정하여 검색 조건에 맞는 문서를 검색할 수도 있습니다.

findOne2. find를 통해 조건에 ​​맞는 모든 문서 찾기

는 조건에 맞는 문서를 찾는데 사용되며, 순회하여 얻을 수 있습니다.

객체. 검색 기준과 일치하는 모든 문서. find그림 및 테스트를 위해 먼저 DBCursor

{ “i”: value }
로그인 후 복사
for (int i=0; i < 100; i++) {
    coll.insert(new BasicDBObject("i", i));
}
로그인 후 복사
DBCursor
형식의 문서 배치를 삽입합니다.

사용 예

는 다음과 같습니다. find

DBCursor cursor = coll.find();
try {
   while(cursor.hasNext()) {
       System.out.println(cursor.next());
   }
} finally {
   cursor.close();
}
로그인 후 복사
mycol 컬렉션의 모든 문서에 출력됩니다.

은 검색 조건을 지정할 수도 있습니다. 예:

BasicDBObject query = new BasicDBObject("i", 71);

DBCursor cursor = coll.find(query);

try {
   while(cursor.hasNext()) {
       System.out.println(cursor.next());
   }
} finally {
   cursor.close();
}
로그인 후 복사

검색 조건에 $

연산자

가 포함된 경우 예를 들어 다음 mongo 쉘 명령:

db.coll.find({i: {$gte: 50}});
로그인 후 복사
를 사용하여 검색 조건

// find all where i >= 50
BasicDBObject query = new BasicDBObject("i", new BasicDBObject("$gte", 50));

DBCursor cursor = coll.find(query);
try {
    while (cursor.hasNext()) {
        System.out.println(cursor.next());
    }
} finally {
    cursor.close();
}
로그인 후 복사

를 생성할 수 있습니다. 7. DBObject

BasicDBObject query = new BasicDBObject("i", 70);
BasicDBObject up = new BasicDBObject("$set", new BasicDBObject("i", 100));
coll.update(query, up);
로그인 후 복사

문서를 업데이트합니다. 위 명령문은 i 값을 100으로 업데이트합니다. 내가 70세인 문서.

与我们常用的更新文档的mongo语句一样,DBCollection还包含了savefindAndModify等更新文档的方法,其使用方法在此不再赘述,可以参考API说明文档即可。

八、删除文档

可以通过生成一个DBObject对象来删除指定的文档,例如:

BasicDBObject query = new BasicDBObject("i", 71);
coll.remove(query);
로그인 후 복사

上面的语句删除i为71的文档。

위 내용은 Java에서의 MongoDB 사용 가이드 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!