пример приветствия Java MongoDB

Java + MongoDB привет мир пример

Java mongodb hello world

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

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

  1. MongoDB 2.2.3

  2. MongoDB-Java-Driver 2.10.1

  3. JDK 1.6

  4. Maven 3.0.3

  5. Затмение 4.2

P.S Maven and Eclipse are both optional, just my personal favorite development tool.

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

Создайтеsimple Java project с Maven.

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

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

Загрузите драйвер mongo-java изgithub. Для пользователей Maven объявляет драйвер mongo-java вpom.xml.

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. Mongo Connection

Подключитесь к серверу MongoDB. Для MongoDB версии> = 2.10.0 используетсяMongoClient.

    // 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. База данных Монго

Получить базу данных. Если база данных не существует, 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);
    }

Note
В СУБД сбор равен таблице.

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

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

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

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

7. Обновить пример

Обновите документ, где «name = example».

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

    BasicDBObject query = new BasicDBObject();
    query.put("name", "example");

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

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

    table.update(query, updateObj);

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

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

Найдите документ, где «name = example», и отобразите его с помощью DBCursor.

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

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

    DBCursor cursor = table.find(searchQuery);

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

Обратитесь к этомуJava MongoDB search query example.

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

Найдите документ, где «name = example», и удалите его.

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

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

    table.remove(searchQuery);

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

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

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

App.java

package com.example.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", "example");
    document.put("age", 30);
    document.put("createdDate", new Date());
    table.insert(document);

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

    DBCursor cursor = table.find(searchQuery);

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

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

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

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

    table.update(query, updateObj);

    /**** Find and display ****/
    BasicDBObject searchQuery2
        = new BasicDBObject().append("name", "example-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" : "example" , "age" : 30 , "createdDate" : { "$date" : "2013-03-08T07:08:30.168Z"}}
{ "_id" : { "$oid" : "51398e6e30044a944cc23e2e"} , "age" : 30 , "createdDate" : { "$date" : "2013-03-08T07:08:30.168Z"} , "name" : "example-updated"}
Done

Давайте воспользуемся консольюmongo для проверки созданной базы данных «testdb», коллекции «user» и документа.

$ 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" : "example-updated" }

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

Скачать -Java-mongodb-hello-world-example.zip (13KB)