자바 조작 MongoDb 첨삭 검사
7746 단어 데이터 뱅 크
주:이 글 은 mongoDb API 3.2.0 을 기반 으로 한 테스트 입 니 다.
테스트 코드 는 다음 과 같 습 니 다:
pom.xml 파일
4.0.0
mongo
mongodb
0.0.1-SNAPSHOT
jar
mongodb
http://maven.apache.org
UTF-8
junit
junit
4.12
test
org.mongodb
mongo-java-driver
3.2.0
MongoDb API 클래스:
package mongo.mongodb;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.UpdateResult;
public class MongoDb {
private static MongoCollection collection;
/**
*
*
* @param databaseName
*
* @param collectionName
*
* @param hostName
*
* @param port
*
*/
public static void connect(String databaseName, String collectionName,
String hostName, int port) {
@SuppressWarnings("resource")
MongoClient client = new MongoClient(hostName, port);
MongoDatabase db = client.getDatabase(databaseName);
collection = db.getCollection(collectionName);
System.out.println(collection);
}
/**
*
*
* @param document
*
*/
public static void insert(Document document) {
collection.insertOne(document);
}
/**
*
*
* @return
*/
public static List findAll() {
List results = new ArrayList();
FindIterable iterables = collection.find();
MongoCursor cursor = iterables.iterator();
while (cursor.hasNext()) {
results.add(cursor.next());
}
return results;
}
/**
*
*
* @param filter
* // Bson ,BasicDBObject, BsonDocument,
* BsonDocumentWrapper, CommandResult, Document, RawBsonDocument
* @return
*/
public static List findBy(Bson filter) {
List results = new ArrayList();
FindIterable iterables = collection.find(filter);
MongoCursor cursor = iterables.iterator();
while (cursor.hasNext()) {
results.add(cursor.next());
}
return results;
}
/**
*
*
* @param filter
*
* @param update
*
* @return
*/
public static UpdateResult updateOne(Bson filter, Bson update) {
UpdateResult result = collection.updateOne(filter, update);
return result;
}
/**
*
*
* @param filter
*
* @param update
*
* @return
*/
public static UpdateResult updateMany(Bson filter, Bson update) {
UpdateResult result = collection.updateMany(filter, update);
return result;
}
/**
* , replacement ,
*
* @param filter
*
* @param replacement
*
*/
public static void replace(Bson filter, Document replacement) {
collection.replaceOne(filter, replacement);
}
/**
*
*
* @param filter
*
*/
public static void deleteOne(Bson filter) {
collection.deleteOne(filter);
}
/**
*
*
* @param filter
*
*/
public static void deleteMany(Bson filter) {
collection.deleteMany(filter);
}
}
테스트 클래스:
package mongo.mongodb;
import java.util.List;
import org.bson.Document;
import org.junit.Before;
import org.junit.Test;
import com.mongodb.client.result.UpdateResult;
public class MongoTest
{
@Before
public void before(){
MongoDb.connect("test", "darren", "172.16.155.151", 27017);
}
@Test
public void testInsert(){
Document document = new Document();
document.append("name", "wang").append("gender", "female");
MongoDb.insert(document);
}
@Test
public void testFindAll(){
List results = MongoDb.findAll();
for(Document doc : results){
System.out.println(doc.toJson());
}
}
@Test
public void testFindBy(){
Document filter = new Document();
filter.append("name", "li si");
List results = MongoDb.findBy(filter);
for(Document doc : results){
System.out.println(doc.toJson());
}
}
@Test
public void testUpdateOne(){
Document filter = new Document();
filter.append("gender", "male");
// update "$set"
Document update = new Document();
update.append("$set", new Document("gender", "female"));
UpdateResult result = MongoDb.updateOne(filter, update);
System.out.println("matched count = " + result.getMatchedCount());
}
@Test
public void testUpdateMany(){
Document filter = new Document();
filter.append("gender", "female");
// update "$set"
Document update = new Document();
update.append("$set", new Document("gender", "male"));
UpdateResult result = MongoDb.updateMany(filter, update);
System.out.println("matched count = " + result.getMatchedCount());
}
@Test
public void testReplace(){
Document filter = new Document();
filter.append("name", "zhang");
// : , "$set"
Document replacement = new Document();
replacement.append("value", 123);
MongoDb.replace(filter, replacement);
}
@Test
public void testDeleteOne(){
Document filter = new Document();
filter.append("name", "li");
MongoDb.deleteOne(filter);
}
@Test
public void testDeleteMany(){
Document filter = new Document();
filter.append("gender", "male");
MongoDb.deleteMany(filter);
}
}
공식 도움말 문서:https://docs.mongodb.org/getting-started/java/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nginx websocket ip_해시 규칙프로젝트 를 다운로드 한 후 서로 다른 네트워크 에 각각 이 demo 프로젝트 를 배치 합 니 다. 프로젝트 에서 환경 변수 에 따라 시스템 변 수 를 설정 합 니 다. spring.profiles.active=de...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.