MongoDB
обеспечивает поддержку драйверов и клиентских библиотек для многих языков. Сегодня мы увидим, как операции, выполненные в
предыдущей статье через консоль, будут выполняться в приложении Java с использованием библиотеки, предоставляемой для языка Java. Я использовал следующие инструменты и технологии в приложении.
- MongoDB версия 2.4.1
- MongoDB Java Driver версия 2.11.1
- JDK версия 1.7 (также можно использовать с 1.6)
- Maven 3.0.4
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