MongoDB의 일부 개념
다음은 MongoDB와 MySQL의 비교입니다
mysqlmongodb
데이터베이스 (데이터베이스) DB (데이터베이스)
테이블 (테이블) 컬렉션 (컬렉션)
행 문서
열 (열) 필드 (필드)
기본 키 (기본 키 지정) "_id": ObjectId ( "******")는 내장 기본 키를 자동으로 생성합니다.
MySQL의 데이터 형식은 다음과 같습니다
동일한 데이터는 다음과 같이 BSON이라는 MongoDB의 JSON 키 값 쌍과 유사합니다.
Mongodb의 Crud
Windows에 설치 한 후에 성공한 후 Mongod 명령을 사용하여 서비스를 시작하고 Mongo 명령을 사용하여 기본적으로 테스트 라이브러리에 연결하십시오.
1. 컬렉션을 만듭니다
사용자 컬렉션 작성 : DB.CreateCollection ( "사용자") // 필드를 정의 할 필요가 없습니다
2. 이름 = wangxu, age = 27 : db.user.insert ({ "name": "wangxu", "age": 27})로 레코드를 삽입하십시오.
3. 모든 쿼리 쿼리 : db.user.find ()
이름 = wangxu : db.user.find의 쿼리 ({ "name": "wangxu"})
4. 이름의 레코드 연령 = wangxu를 30 : db.user.update ({name : "wangxu"}, { "$ set": { "age": 30}})로 업데이트합니다.
5. name = wangxu : db.user.remove ({ "name": "wangxu"})로 레코드를 삭제하십시오.
모든 삭제 : db.user.remove ()
6. 수집을 삭제하고 사용자 컬렉션을 삭제합니다 : DB.user.drop ()
Java는 MongoDB를 부릅니다
MongoDB의 Java 드라이버 패키지를 소개 한 후 테스트 코드는 다음과 같습니다.
패키지 com.wx.test; import java.util.arraylist; import java.util.list; import org.bson.document; import com.mongodb.mongoclient; import com.mongodb.client.finditerable; import com.mongodb.client.mongocollection; mongodod.mongocursor; com.mongodb.client.mongodatabase; import com.mongodb.client.model.filters;/** * 테스트 mongodb 테스트 포인트 : 추가, 쿼리, 업데이트, 삭제 * * @author wangxu * @date 2016-3-27 */public class testmongodb {public static void main (string) {// mong) 기본적으로 Mongoclient Mongoclient = New Mongoclient ( "LocalHost", 27017); // 테스트 라이브러리 Mongodatabase db = mongoclient.getDatabase ( "test"); // COLLECTION DB.CREATECOLLECTION ( "USER") 만들기; // 수집 mongocollection collection = db.getCollection ( "사용자"); // 문서 삽입 (지원 다중 줄 지원) 문서 문서 = 새 문서 ( "이름", "wangxu"). Append ( "Age", "27"); 문서 문서 2 = 새 문서 ( "이름", "wangxu_java"). Append ( "Age", "27"); List <cument> documents = new ArrayList <> (); documents.add (문서); documents.add (document2); collection.insertmany (문서); // Wangxu의 나이를 30 Collection.upDatemany (Filters.eq ( "name", "wangxu"), 새 문서 ( "$ set", 새 문서 ( "age", 30)); // 문서 찾기 <cumentitable> finditerable = collection.find (); mongocursor <courcursable.finderiterator (); // traverse chursor (); (mongocursor.hasnext ()) {doc = mongocursor.next.out.println ( "name");Java 드라이버 패키지에 대한 질문
Mongoclient mongoclient = 새로운 mongoclient ( "도메인 존재가 존재하지 않는다", 27017); // 연결을 만듭니다
위의 코드를 저장했을 때 예외를 처리 할 필요가 없다는 것을 알았습니다. 처음에, 나는 예외가 "확인되지 않은 예외"로 설계되었으며 달릴 때 던져 질 것이라고 생각했습니다. 마지막으로, 테스트는 예외가 전혀 발생하지 않는다는 것을 발견했습니다. 예외는 후속 CRUD 작업 중에 발생하지만 거의 모든 것이 점검되지 않은 예외였습니다. 나는 개인적 으로이 디자인이 Java의 예외 분류 메커니즘과 약간 양립 할 수 없다고 생각합니다.