Рубрики
Без рубрики

Пример Java + MongoDB hello world

– Java + MongoDB – Ява + МонгоДБ пример привет, мир

Простой пример Java + MongoDB hello world – как подключиться, создать базу данных, коллекцию и документ, сохранить, обновить, удалить, получить и отобразить документ (данные).

Используемые инструменты и технологии:

  1. MongoDB 2.2.3
  2. MongoDB-Java-Драйвер 2.10.1
  3. JDK 1.6
  4. Maven 3.0.3
  5. Затмение 4.2

P.S Maven и Eclipse являются необязательными, просто мой личный любимый инструмент разработки.

1. Создайте проект Java

Создайте простой Java-проект с помощью Maven.

mvn archetype:generate -DgroupId=com.mkyong.core -DartifactId=mongodb 
  -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

2. Получить Драйвер Java для Mongo

Скачайте драйвер mongo-java с github . Для пользователей Maven объявляет драйвер mongo-java в pom.xml .


  

	
		org.mongodb
		mongo-java-driver
		2.10.1
	

  

  
	
		
			org.apache.maven.plugins
			maven-compiler-plugin
			2.3.1
			
				1.6
				1.6
			
		
	        
			org.apache.maven.plugins
			maven-eclipse-plugin
			
				true
				true
			
		

	
  


3. Соединение с Монго

Подключитесь к серверу MongoDB. Для MongoDB версии.10.0 используется МонгоКлиент .

	// Old version, uses Mongo
	Mongo mongo = new Mongo("localhost", 27017);

	// Since 2.10.0, uses MongoClient
	MongoClient mongo = new MongoClient( "localhost" , 27017 );

Если MongoDB находится в безопасном режиме, требуется аутентификация.

	MongoClient mongoClient = new MongoClient();
	DB db = mongoClient.getDB("database name");
	boolean auth = db.authenticate("username", "password".toCharArray());

4. База данных Mongo

Получить базу данных. Если база данных не существует, MongoDB создаст ее для вас.

	DB db = mongo.getDB("database name");

Отобразить все базы данных.

	List dbs = mongo.getDatabaseNames();
	for(String db : dbs){
		System.out.println(db);
	}

5. Коллекция Монго

Получить коллекцию/таблицу.

	DB db = mongo.getDB("testdb");
	DBCollection table = db.getCollection("user");

Отобразить все коллекции из выбранной базы данных.

	DB db = mongo.getDB("testdb");
	Set tables = db.getCollectionNames();
			
	for(String coll : tables){
		System.out.println(coll);
	}

6. Сохранить пример

Сохраните документ (данные) в коллекцию (таблицу) с именем “пользователь”.

	DBCollection table = db.getCollection("user");
	BasicDBObject document = new BasicDBObject();
	document.put("name", "mkyong");
	document.put("age", 30);
	document.put("createdDate", new Date());
	table.insert(document);

Обратитесь к этому Пример вставки Java MongoDB .

7. Пример обновления

Обновите документ, где”.

	DBCollection table = db.getCollection("user");
	
	BasicDBObject query = new BasicDBObject();
	query.put("name", "mkyong");

	BasicDBObject newDocument = new BasicDBObject();
	newDocument.put("name", "mkyong-updated");
				
	BasicDBObject updateObj = new BasicDBObject();
	updateObj.put("$set", newDocument);

	table.update(query, updateObj);

Обратитесь к этому Пример обновления Java MongoDB .

8. Найдите пример

Найдите документ, где”, и отобразите его с помощью DBCursor

	DBCollection table = db.getCollection("user");

	BasicDBObject searchQuery = new BasicDBObject();
	searchQuery.put("name", "mkyong");

	DBCursor cursor = table.find(searchQuery);

	while (cursor.hasNext()) {
		System.out.println(cursor.next());
	}

Обратитесь к этому Примеру поискового запроса Java MongoDB .

9. Удалить пример

Найдите документ, где”, и удалите его.

	DBCollection table = db.getCollection("user");

	BasicDBObject searchQuery = new BasicDBObject();
	searchQuery.put("name", "mkyong");

	table.remove(searchQuery);

Обратитесь к этому Пример удаления Java MongoDB .

10. Привет, Мир

Давайте рассмотрим полный пример Java + MongoDB, см. Комментарии для пояснения.

package com.mkyong.core;

import java.net.UnknownHostException;
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
import com.mongodb.MongoException;

/**
 * Java + MongoDB Hello world Example
 * 
 */
public class App {
  public static void main(String[] args) {

    try {

	/**** Connect to MongoDB ****/
	// Since 2.10.0, uses MongoClient
	MongoClient mongo = new MongoClient("localhost", 27017);

	/**** Get database ****/
	// if database doesn't exists, MongoDB will create it for you
	DB db = mongo.getDB("testdb");

	/**** Get collection / table from 'testdb' ****/
	// if collection doesn't exists, MongoDB will create it for you
	DBCollection table = db.getCollection("user");

	/**** Insert ****/
	// create a document to store key and value
	BasicDBObject document = new BasicDBObject();
	document.put("name", "mkyong");
	document.put("age", 30);
	document.put("createdDate", new Date());
	table.insert(document);

	/**** Find and display ****/
	BasicDBObject searchQuery = new BasicDBObject();
	searchQuery.put("name", "mkyong");

	DBCursor cursor = table.find(searchQuery);

	while (cursor.hasNext()) {
		System.out.println(cursor.next());
	}

	/**** Update ****/
	// search document where name="mkyong" and update it with new values
	BasicDBObject query = new BasicDBObject();
	query.put("name", "mkyong");

	BasicDBObject newDocument = new BasicDBObject();
	newDocument.put("name", "mkyong-updated");

	BasicDBObject updateObj = new BasicDBObject();
	updateObj.put("$set", newDocument);

	table.update(query, updateObj);

	/**** Find and display ****/
	BasicDBObject searchQuery2 
	    = new BasicDBObject().append("name", "mkyong-updated");

	DBCursor cursor2 = table.find(searchQuery2);

	while (cursor2.hasNext()) {
		System.out.println(cursor2.next());
	}

	/**** Done ****/
	System.out.println("Done");

    } catch (UnknownHostException e) {
	e.printStackTrace();
    } catch (MongoException e) {
	e.printStackTrace();
    }

  }
}

Выход…

{ "_id" : { "$oid" : "51398e6e30044a944cc23e2e"} , "name" : "mkyong" , "age" : 30 , "createdDate" : { "$date" : "2013-03-08T07:08:30.168Z"}}
{ "_id" : { "$oid" : "51398e6e30044a944cc23e2e"} , "age" : 30 , "createdDate" : { "$date" : "2013-03-08T07:08:30.168Z"} , "name" : "mkyong-updated"}
Done

Позвольте использовать mongo консоль для проверки созданной базы данных “testdb”, коллекции “пользователь” и документа.

$ mongo
MongoDB shell version: 2.2.3
connecting to: test

> show dbs
testdb	0.203125GB

> use testdb
switched to db testdb

> show collections
system.indexes
user
> db.user.find()
{ "_id" : ObjectId("51398e6e30044a944cc23e2e"), "age" : 30, "createdDate" : ISODate("2013-03-08T07:08:30.168Z"), "name" : "mkyong-updated" }

Скачать Исходный Код

Рекомендации

  1. Начало работы с драйвером Java
  2. Драйвер Java-MongoDB

Оригинал: “https://mkyong.com/mongodb/java-mongodb-hello-world-example/”