Статьи

Основные операции MongoDB с собственным драйвером Java


MongoDB
обеспечивает поддержку драйверов и клиентских библиотек для многих языков. Сегодня мы увидим, как операции, выполненные в 
предыдущей статье  через консоль, будут выполняться в приложении Java с использованием библиотеки, предоставляемой для языка Java. Я использовал следующие инструменты и технологии в приложении.

  • MongoDB версия 2.4.1
  • MongoDB Java Driver версия 2.11.1
  • JDK версия 1.7 (также можно использовать с 1.6)
  • Maven 3.0.4

mongoBanner

1. Зависимости MongoDB для проекта

<dependency>
  <groupId>org.mongodb</groupId>
  <artifactId>mongo-java-driver</artifactId>
  <version>2.11.1</version>
</dependency>

2. Выбор соединения, базы данных и коллекции с MongoDB

MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); 
DB db  = mongoClient.getDB("kodcu"); 
DBCollection collection  = db.getCollection("articles");

Фактически, пример MongoClient представляет
пул соединений для базы данных. Вызов
getDB («kodcu»), который выполняется через экземпляр клиента, аналогичен вызову «
use dbName » в консоли. Метод проверяет, существует ли база данных с таким же именем и значением параметра. База данных выбирается, если она существует, если нет, создается новая. Аналогичная ситуация применяется к
вызову db.getCollection («Articles») . Если коллекции с таким именем не существует, она создается с первой вставкой.
3. Процесс добавления записей

insertRecord(new String[] {"Articles"}, 
                         "Lean Kanban Workshop", 
                         "Kanban system is an impressive approach in the field of software management for the last 10 years.", 
                         new Date(), 
                         "Altug Bilgin Altintas", 
                         new String[] {null}, 
                         collection);

public static void insertRecord(String[] category, String title, String content,
                                    Date date, String author, String[] tags, DBCollection collection){
        
        BasicDBObject document = new BasicDBObject("category", category)
                                .append("title", title)
                                .append("content", content)
                                .append("date", date)
                                .append("author", author)
                                .append("tags", tags);
        
        collection.insert(document);
        
        System.out.println("Added record: " + document);
        
}

4. Процесс обновления записей

updateRecord("title", "Lean Kanban Workshop", "tags", new String[]{"lean", "kanban", "training"}, collection);

public static void updateRecord(String findField, String findFieldNewValue, String updatedField, String[] updatedFieldNewValue, DBCollection collection){
        
        BasicDBObject query = new BasicDBObject();
	query.put(findField, findFieldNewValue);
        
	BasicDBObject findDocument = new BasicDBObject();
	findDocument.put(updatedField, updatedFieldNewValue);
 
	BasicDBObject updatedDocument = new BasicDBObject();
	updatedDocument.put("$set", findDocument);
 
	collection.update(query, updatedDocument);       
        System.out.println("Kayit guncellendi: " + updatedDocument);
    
}

5. Поиск записей по полевому запросу, используя Regex Query

DBCursor cursor = findRecord("author", "Altug Bilgin Altintas", collection);

while (cursor.hasNext()) {
   System.out.println("Found records: " + cursor.next());
}

executeRegexQuery("content", "Backbone.*JavaScript", collection);

public static DBCursor findRecord(String field, String value, DBCollection collection){
        
        BasicDBObject query = new BasicDBObject();
	query.put(field, value);
        DBCursor dBCursor = collection.find(query);
        
        return dBCursor;
}

public static void executeRegexQuery(String field, String value, DBCollection collection){
        
        BasicDBObject query = new BasicDBObject();
        query.put(field, new BasicDBObject("$regex", "Backbone.*JavaScript").append("$options", "i"));
        DBCursor cursor = collection.find(query);
        
        System.out.println("***************** Regex Query *****************");
        while (cursor.hasNext()) {
            System.out.println(cursor.next());
        }
        System.out.println("***************** Regex Query *****************");
        
}

6. Чтобы перечислить все записи

findAllRecords(collection);

public static void findAllRecords(DBCollection collection){
        
        System.out.println("***************** List all records *****************");
        DBCursor cursor = collection.find();
        while (cursor.hasNext()) {
            System.out.println(cursor.next());
        }
        System.out.println("***************** List all records *****************");
}

7. Удаление коллекции

dropCollection(collection);

public static void dropCollection(DBCollection collection){
        
        collection.drop();
        System.out.println("Collection is initialized");
}

Вывод производится приложением:


Коллекция инициализирована. Eklenen kayit: {«category»: [«Articles»], «title»: «Lean Kanban Workshop», «content»: «Система Kanban — это впечатляющий подход в области управления программным обеспечением за последние 10 лет. » , «date»: {«$ date»: «2013-04-22T09: 58: 45.155Z»}, «author»: «Altug Bilgin Altintas», «tags»: [null], «_id»: {«$ oid «:» 517509d530049e9dccd4ffb0 «}} Добавлена ​​запись: {» category «: [» Articles «],» title «:» Взять поводья с помощью Backbone.js!? Free Webiner «,» content «:» Backbone.js — это библиотека JavaScript, которая помогает вашему сложному коду Javascript быть более структурированным и предлагает среду, в которой разработка более приятна. «,» date «: {» $ date «:» 2013-04-22T09: 58: 45.194Z » }, «author»: «Kodcu.Com», «tags»: [null], «_id»: {«$ oid»: «517509d530049e9dccd4ffb1»}} Добавлена ​​запись: {«category»: [«Java», «Учебное пособие» «,» Articles «,» Software «],» title «:» Индексация данных с Java в Apache Solr «,» content «:» Привет всем, я упоминал в своей предыдущей статье об установке и настройке Apache Solr, индексации данных из командная строка для Solr и выполнение операций запроса через эти данные. «,» date «: {«$ date «:» 2013-04-22T09: 58: 45.197Z «},» author «:» Cuneyt Yesilkaya «,» tags «: [» java «,» индексация данных с помощью java для solr «,» solr «,» solrj «],» _id «: {» $ oid «:» 517509d530049e9dccd4ffb2 «}} Запись обновлена: {» $ set «: {» tags «: [» lean «,» kanban «,» training «]}} Найдено records: {«_id»: {«$ oid»: «517509d530049e9dccd4ffb0»}, «author»: «Altug Bilgin Altintas», «category»: [«Articles»], «content»: «Система Канбана является впечатляющим подходом в область управления программным обеспечением за последние 10 лет. «,» date «: {» $ date «:» 2013-04-22T09: 58: 45.155Z «},»tags»: [«lean», «kanban», «training»], «title»: «Мастерская Lean Kanban»} ***************** Regex Query *** ************** {«_id»: {«$ oid»: «517509d530049e9dccd4ffb1»}, «category»: [«Articles»], «title»: «Взять поводья с помощью Backbone .js!? Free Webiner «,» content «:» Backbone.js — это библиотека JavaScript, которая помогает вашему сложному коду Javascript быть более структурированным и предлагает среду, в которой разработка более приятна «. , «date»: {«$ date»: «2013-04-22T09: 58: 45.194Z»}, «author»: «Kodcu.Com», «tags»:[null]} ***************** Regex Query ***************** ********** ******* Список всех записей ***************** {«_id»: {«$ oid»: «517509d530049e9dccd4ffb1»}, «category»: [«Статьи «],» title «:» Возьмите на себя управление Backbone.js!? Free Webiner «,» content «:» Backbone.js — это библиотека JavaScript, которая помогает вашему сложному коду Javascript быть более структурированным и предлагает среду, в которой разработка приятнее «. , «date»: {«$ date»: «2013-04-22T09: 58: 45.194Z»}, «author»: «Kodcu.Com», «tags»: [null]} {«_id»: {» $ oid «:» 517509d530049e9dccd4ffb2 «},» category «: [» Java «,» Tutorial «,» Articles «,«Программное обеспечение»], «title»: «Индексация данных с Java на Apache Solr», «content»: «Привет всем, я упоминал в предыдущей статье об установке и настройке Apache Solr, индексации данных из командной строки в Solr и создании Операции запроса через эти данные. » , «date»: {«$ date»: «2013-04-22T09: 58: 45.197Z»}, «author»: «Cuneyt Yesilkaya», «tags»: [«java», «индексирование данных с использованием java для решения «,» solr «,» solrj «]} {» _id «: {» $ oid «:» 517509d530049e9dccd4ffb0 «},» author «:» Altug Bilgin Altintas «,» category «: [» Articles «],» content » : «Система Kanban — это впечатляющий подход в области управления программным обеспечением за последние 10 лет «,» date «: {» $ date «:» 2013-04-22T09: 58: 45.155Z «},» tags «: [» lean «,» kanban «,» training «],» title «:» Мастерская Lean Kanban «} ***************** Список всех записей ********* ********

Реальный контент выше и приложение, могут быть доступны в 
Базовых Операциях MongoDB с Собственным драйвером Java