Статьи

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

В этом посте я хотел бы показать, как выполнять базовые операции CRUD с базой данных MongoDB с помощью драйвера Java.



Для этого поста, давайте предположим ,
что мы имеем
Todo базу данных с коллекцией списка задач
пунктов . У каждого предмета есть
задача и
приоритет .

С точки зрения нотации JSON пример элемента будет выглядеть так:
{
  "_id" : { "$oid" : "4bffb75121eec88a67ff6ec8"} ,
  "task" : "Write Code" ,
  "priority" : "high"
}

Теперь, когда мы определили, что мы храним в базе данных, давайте посмотрим, как мы подключаемся к Mongo.

Подключение к базе данных


Для подключения к базе данных MongoDB мы будем использовать код, подобный приведенному ниже.
В этом коде вы видите, что мы подключаемся к базе данных
todo и получаем коллекцию под названием
items . В MongoDB, если ни один из этих элементов не существует, они будут созданы автоматически.
Mongo mongo = new Mongo();
DB db = mongo.getDB("todo");
DBCollection items = db.getCollection("items");

Создание документов


Чтобы добавить документ в коллекцию, мы используем метод
insert () коллекции.
BasicDBObject doc1 = new BasicDBObject();
doc1.put("task", "Write Code");
doc1.put("priority", "high");
items.insert(doc1);

Получение документов


Чтобы извлечь документы из коллекции, мы можем создать запрос и затем перебрать его курсором.
BasicDBObject query = new BasicDBObject();
query.put("priority", "highest");
DBCursor cursor = items.find(query);
// Print out "highest" priority items
while (cursor.hasNext()) {
    System.out.println(cursor.next());
}


Этот запрос будет найти все объекты в коллекции ,
которые имеют
приоритет на
высоком . Если бы мы хотели получить все элементы в коллекции, мы бы создали курсор без запроса, как показано ниже.
DBCursor cursor = items.find();

Обновление документов


Чтобы обновить объект, мы сначала должны получить объект из коллекции, а затем
сохранить его обратно в коллекцию.
BasicDBObject findTestItemQuery = new BasicDBObject();
findTestItemQuery.put("task", "Test Code");
DBCursor testItemsCursor = items.find(findTestItemQuery);
if(testItemsCursor.hasNext()) {
    DBObject testCodeItem = testItemsCursor.next();
    testCodeItem.put("task", "Test and Review Code");
    items.save(testCodeItem);
}

Удаление документов


Наконец, чтобы удалить документ или набор документов, мы используем
метод
удаления коллекции.
BasicDBObject deleteQuery = new BasicDBObject();
deleteQuery.put("priority", "highest");
DBCursor cursor = items.find(deleteQuery);
while (cursor.hasNext()) {
    DBObject item = cursor.next();
    items.remove(item);
}

 

От http://www.davidsalter.co.uk/1/post/2011/05/basic-java-crud-operations-with-mongodb.html