Статьи

Прохождение для начинающих: MongoDB и Java

Из этого туториала Вы узнаете, как установить MongoDB, а затем простое приложение CRUD с Java и MongoDB.

Что в этом уроке?

  • Монтаж.

  • Подключение к Shell.

  • Настройка вашей IDE.

  • Подключение к вашему приложению.

  • Основные операции CRUD: создание документа, сохранение его в базе данных и повторный запрос этого же документа.

  • Обзор библиотек JVM и их работы с MongoDB.

Монтаж

Используйте следующие инструкции по установке, чтобы установить MongoDB 3.2 в Ubuntu 14.04.

Импортируйте открытый ключ, используемый системой управления пакетами:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Создайте файл списка для MongoDB:

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Перезагрузите локальную базу данных пакетов:

sudo apt-get update

Установите пакеты MongoDB:

sudo apt-get install -y mongodb-org=3.2.3 mongodb-org-server=3.2.3 mongodb-org-shell=3.2.3 mongodb-org-mongos=3.2.3 mongodb-org-tools=3.2.3

Проверьте, нормально ли запущен процесс MongoDB:

ps -ef|grep mongod
netstat -tnlp| grep 27017

Если процесс еще не начался нормально, вам следует просмотреть журналы MongoDB на наличие ошибок и устранить их.

tail /var/log/mongodb/mongod.log

Подключение к оболочке

Подключиться к оболочке Монго довольно просто:

Введите команду «Монго» в терминале. Это должно привести вас к раковине Монго.

mongo> show dbs
>local  0.000GB

Вы готовы взаимодействовать с MongoDB для выполнения базовых задач с использованием оболочки mongo.

Настройка вашей IDE

Я использовал Eclipse Helios IDE для этого урока. Вы можете использовать IDE по вашему выбору. Скачать Eclipse можно  здесь .

Запустите Eclipse IDE, используя исполняемый файл eclipse, который поставляется вместе с загрузкой.

Создайте новый проект MongoDB_CRUD в IDE, используя New-> Java Project.

Подключение к вашему приложению

Загрузите необходимые драйверы:

Добавьте драйверы в ваш classpath. Добавьте драйверы, загруженные на предыдущем шаге, в свое приложение, используя:

Project->Build Path->Configure Buid Path-> Add External Jars

Подключитесь к MongoDB. Включите следующие операторы импорта:

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;

Подключитесь к экземпляру MongoDB с локальным портом 27017, создав экземпляр MongoClient как:

MongoClient mongoClient = new MongoClient();

После успешного подключения к MongoDB вы можете получить доступ к базе данных:

MongoDatabase db = mongoClient.getDatabase(“CRUD”);

Примечание. База данных CRUD будет создана после того, как мы вставим первый документ в любую из его коллекций.

Основные операции CRUD

В этом примере приложения мы создаем базу данных CRUD . Эта база данных содержит коллекционные курсы, в которых хранится пример информации из курсов Университета MongoDB.

  1. Вставка: Вы можете использовать метод insertOne () для вставки документа в коллекцию в MongoDB. Если коллекция, в которую вы вставляете документ, не существует, коллекция создается на лету.

Создайте экземпляр Document и добавьте ключ и значения в документ:

Document course=new Document();
course.append("courseID", "M101P");course.append("title", "MongoDB for Developers");course.append("startDate", "15 Mar 2016 at 17:00 UTC");course.append("endDate", "03 May 2016 at 17:00 UTC");course.append("instructor","Andrew Erlichson");course.append("aboutCourse", "Learn everything you need to know to get started building a MongoDB-based app");
db.getCollection("courses").insertOne(course);

Запустите приложение и проверьте, был ли документ вставлен в курсы сбора, используя оболочку mongo:

mongo> show dbs
CRUD   0.000GB
local  0.000GB
test   0.000GB
> use CRUD
switched to db 
CRUD> show collections
courses
> db.courses.findOne()
{ "_id" : ObjectId("56d2ce10a67a5623a00d470c"), 
  "courseID" : "M101P", 
  "title" : "MongoDB for Developers", 
  "startDate" : "15 Mar 2016 at 17:00 UTC", 
  "endDate" : "03 May 2016 at 17:00 UTC", 
  "instructor" : "Andrew Erlichson", 
  "aboutCourse" : "Learn everything you need to know to get started building a MongoDB-based app"}
>

Мы успешно вставили документ в сборник курсов.

Вставьте еще несколько документов в  коллекцию курсов .

2. Чтение: вы можете использовать метод find () для чтения или извлечения документов из MongoDB. Вы можете запросить, чтобы найти конкретный документ из коллекции или получить все документы из коллекции.

Чтобы найти все документы в коллекции, используйте метод find () с критериями. Это возвращает вам курсор в виде FindIterable.

FindIterable<Document> docs= db.getCollection("courses").find();
for(Document d: docs){System.out.println(d);}

Он выводит на консоль следующие документы:

{ “_id” : { “$oid” : “56d2ce10a67a5623a00d470c” }, “courseID” : “M101P”, “title” : “MongoDB for Developers”, “startDate” : “15 Mar 2016 at 17:00 UTC”, “endDate” : “03 May 2016 at 17:00 UTC”, “instructor” : “Andrew Erlichson”, “aboutCourse” : “Learn everything you need to know to get started building a MongoDB-based app” }
{ “_id” : { “$oid” : “56d2cfcca67a562438eeeb5b” }, “courseID” : “M102”, “title” : “MongoDB for DBAs”, “startDate” : “15 Mar 2016 at 17:00 UTC”, “endDate” : “03 May 2016 at 17:00 UTC”, “instructor” : “Dwight Merriman”, “aboutCourse” : “Learn everything you need to know to administer a MongoDB installation in production..” }

3. Обновление: вы можете обновить один или несколько документов, используя методы updateOne () и updateMany () соответственно. В следующем примере документ обновляется с помощью «courseID»: «M101P», устанавливает «endDate»: «04 мая 2016 года в 17:00 UTC»

db.getCollection(“courses”).updateOne(new Document(“courseID”, “M101P”),new Document(“$set”, new Document(“endDate”, “04 May 2016 at 17:00 UTC”)));

Результаты могут быть проверены с помощью оболочки Монго:

db.courses.findOne({“courseID” : “M101P”})
{ “_id” : ObjectId(“56d2ce10a67a5623a00d470c”), 
 “courseID” : “M101P”, 
 “title” : “MongoDB for Developers”, 
 “startDate” : “15 Mar 2016 at 17:00 UTC”, 
 “endDate” : “04 May 2016 at 17:00 UTC”, 
 “instructor” : “Andrew Erlichson”, 
 “aboutCourse” : “Learn everything you need to know to get started building a MongoDB-based app”
}

4. Удалить: Вы можете использовать deleteOne () или deleteMany () для удаления одного или нескольких документов из коллекции соответственно. Следующий фрагмент кода удаляет один документ с соответствующими критериями.

db.getCollection(“courses”).deleteOne(new Document(“title”, “MongoDB for DBAs”));

Mongodb теперь возвращает только один документ из коллекции курсов, поскольку документ с заголовком «MongoDB for DBA» удален.

Обзор библиотек JVM и как они работают с MongoDB

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

Резюме

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


Если вам понравилась эта статья и вы хотите больше узнать о MongoDB, ознакомьтесь с этой коллекцией учебников и статей  по всем вопросам MongoDB.