MongoDB CRUD — HackerX https://hackerx.ru Блог о программировании, СУБД, сетях и алгоритмах. Уроки и статьи по разным языкам программирования Wed, 11 Jul 2018 07:15:23 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.9.8 MongoDB CRUD-операции. Вставка, изменение, удаление и выборка документов https://hackerx.ru/mongodb-crud/ https://hackerx.ru/mongodb-crud/#respond Sun, 13 Aug 2017 13:02:48 +0000 https://hackerx.ru/?p=761 CRUD-операции — это создание (create), чтение (read), обновление (update) и удаление (delete) в документов MongoDB. Содержание: Создание документов Чтение документов Обновление документов Удаление документов   Создание / вставка документов Операции создание или вставки добавляют новые документы в коллекцию. Если при вставке документов в коллекцию данная коллекция не будет существовать, то она будет создана автоматически. MongoDB предоставляет следующие методы для вставки документов в […]

The post MongoDB CRUD-операции. Вставка, изменение, удаление и выборка документов appeared first on HackerX.

]]>
CRUD-операции — это создание (create), чтение (read), обновление (update) и удаление (delete) в документов MongoDB.

Содержание:

 

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

Операции создание или вставки добавляют новые документы в коллекцию. Если при вставке документов в коллекцию данная коллекция не будет существовать, то она будет создана автоматически.

MongoDB предоставляет следующие методы для вставки документов в коллекцию:

  • db.collection.insertOne() Поддерживается с версии 3.2
  • db.collection.insertMany() Поддерживается с версии 3.2

 

В MongoDB операции вставки нацелены на одну коллекцию. Все операции записи в MongoDB являются атомарными на уровне одного документа.

db.users.insertOne(
  {
    name: "sue",
    age: 26
    status: "pending"
  }
)

MongoDB - вставка документов

Чтение / выборка

Операции чтение / выборки извлекают документы из коллекции. MongoDB предоставляет следующие методы для чтения документов из коллекции:

  • db.collection.find()

 

В запросе можно указать необходимые фильтры и критерии для выборки документов.

db.users.find(
  {
    {age: { $gt: 18 } },
    {name: 1, address: 1 }
  }
).limit(5)

MongoDB - Операции чтение

Обновление




Операции обновления изменяют существующие документы в коллекции. MongoDB предоставляет следующие методы для обновления документов коллекции:

  • db.collection.updateOne() Поддерживается с версии 3.2
  • db.collection.updateMany() Поддерживается с версии 3.2
  • db.collection.replaceOne() Поддерживается с версии 3.2

 

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

db.collection.updateMany(
  {
    {age: { $lt: 18 }},
    {$set: { status: "reject" }}
  }
)

MongoDB - обновления документов

Удаление

Операции удаления удаляют документы из коллекции. MongoDB предоставляет следующие методы для удаления документов коллекции:

  • db.collection.deleteOne() Поддерживается с версии 3.2
  • db.collection.deleteMany() Поддерживается с версии 3.2

 

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

db.collection.deleteMany(
  {status: "reject"}
)

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

The post MongoDB CRUD-операции. Вставка, изменение, удаление и выборка документов appeared first on HackerX.

]]>
https://hackerx.ru/mongodb-crud/feed/ 0
Вставка документов (insert) — MongoDB CRUD https://hackerx.ru/insert-documents-mongodb-crud/ https://hackerx.ru/insert-documents-mongodb-crud/#respond Sun, 30 Jul 2017 03:01:01 +0000 https://hackerx.ru/?p=268 Метод db.collection.insert() служит для вставки / добавление новых документов (данных) в коллекцию. После запуска оболочки MongoDB, если вы не выбрали базу, то по умолчанию оболочка выберет базу test. Если хотим создать новую базу в MongoDB, например blog, и переключится на него, то в консоле (в оболочке MongoDB) нужно выполнить следующую команду: use blog После этого увидим сообщение что мы переключились на базу […]

The post Вставка документов (insert) — MongoDB CRUD appeared first on HackerX.

]]>
Метод db.collection.insert() служит для вставки / добавление новых документов (данных) в коллекцию.

После запуска оболочки MongoDB, если вы не выбрали базу, то по умолчанию оболочка выберет базу test. Если хотим создать новую базу в MongoDB, например blog, и переключится на него, то в консоле (в оболочке MongoDB) нужно выполнить следующую команду:

use blog

После этого увидим сообщение что мы переключились на базу blog — switched to db blog.

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

С помощью метода / функции insert() можно создать коллекцию в MongoDB и вставить / добавить документ в коллекцию. Давайте создадим коллекцию пользователей (users) и вставляем туда простейший документ, который описывает пользователя:

db.users.insert({username: "vasya"})

Если до этого коллекция users не было создано, то после выполнение метода insert будет создано коллекция users и добавлен в коллекцию документ описывающий пользователей. А если коллекция было создано ранее, то просто будет выполнено операция вставки документа.

Данная операция возвращает объект WriteResult со статусом операции. При успешном выполнение операции вставки документа возвращается следующий объект:

WriteResult({"nInserted": 1})

Поле nInserted определяет количество добавленных документов. Если при вставке документа будет какое то ошибка, то в объекте WriteResult будет информация об ошибке.

Вставка более сложного документа

db.users.insert(
   {
     username: "john",
     contact: {
        email: "john@test.ru",
        country: "Армения",
        city: "Гюмри",
        address: "Адрес пользователя"
     },
     languages: ["Армянский", "Русский", "Английский"],
     favorites: {
         cities: ["Москва", "Ереван"],
         movies: ["Иван Васильевич меняет профессию", "Бриллиантовая рука"]
     },
     comments: [
         {article: "Имя Статьи", text: "очень длинный текст"},
         {article: "Вторая статья", text: "текст комментарии"}
     ]
   }
)

Модель данных в MongoDB является документо-ориентированной. Документ в MongoDB — это набор, состоящий из имени и значение свойств. Значение может быть простым типом, например: строка, числа и даты, но может быть массивом или даже другим документом. С помощью таких конструкций можно создать довольно сложные структуры данных.

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

db.users.find()

Метод find без параметров возвращает все документы из коллекции users. Также мы можем узнать количество документов в коллекции users, используя метод count.

db.users.count()



Вставка нескольких документов в массиве

Для вставки / добавление сразу нескольких документов в коллекцию мы можем передать методу insert массив документов. Давайте создадим массив документов, которые нужно вставить в коллекцию. Мы можем в оболочке MongoDB писать JavaScript код:

var my_documents =
[
      {
        username: "kevin",
        contact: { city: "Gyumri", address: "My address" },
      },
      {
        username: "mike",
        contact: { city: "Moscow", address: "адрес" },
      },
      {
        username: "petya",
        contact: { city: "Ереван", address: "Мой адрес" },
      }
];

А теперь давайте передаем массив документов методу db.collection.insert().

db.users.insert(my_documents)

После вставки массива документов нам будет возвращено объект BulkWriteResult.

BulkWriteResult({
  "writeErrors" : [ ],
  "writeConcernErrors" : [ ],
  "nInserted" : 3,
  "nUpserted" : 0,
  "nMatched" : 0,
  "nModified" : 0,
  "nRemoved" : 0,
  "upserted" : [ ]
})

Опять же поле nInserted определяет количество добавленных документов.

После вставки документов, каждый документ будет иметь свой уникальный идентификатор. Это поле называется _di а значение генерируется автоматически и он всегда уникален.

The post Вставка документов (insert) — MongoDB CRUD appeared first on HackerX.

]]>
https://hackerx.ru/insert-documents-mongodb-crud/feed/ 0