MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да актуализирате съществуващи документи в MongoDB

MongoDB е разработена за първи път през 2007 г. от Дуайт Мериман и Елиът Хоровиц, когато изпитват проблеми с мащабируемостта с релационни бази данни, докато разработват корпоративни уеб приложения в тяхната компания, известна като DoubleClick. Според един от разработчиците името му произлиза от думата огромен в подкрепа на идеята за обработка на голямо количество данни.

Базата данни се превърна в проект с отворен код през 2009 г., докато компанията предлагаше търговски услуги за поддръжка. Много компании приеха MongoDB поради уникалните му характеристики. Една от тези компании беше вестник The New York Times и те използваха тази база данни, за да изградят уеб-базирано приложение за изпращане на снимките. През 2013 г. DoubleClick официално преименува MongoDB Inc.

Компоненти на MongoDB

Основните компоненти на MongoDB и тяхното използване включват:

  • Колекции – Техните RDBMS колеги са таблици. Те са набор от документи на MongoDB
  • Документ – Неговият аналог на RDBMS е Row. Това е колекция от данни, съхранявани във формат BSON
  • Поле – Това е единичен елемент в документ на MongoDB, който съдържа стойности като полета и двойки стойности.

Съхранение, базирано на документи

Документът е структура от данни с двойки име-стойност като JSON и е лесно да се картографира всеки персонализиран обект на всеки език за програмиране с документ MongoDB. Например, Студент обектът има атрибути като name, studentid, и предмети където субектите са списък. Документ за студенти в MongoDB ще изглежда така:

{
Name: "Michael",
Studentid: 1
Subjects: ["Mathematics, English, Geography"]}

Ще забележите, че документите са JSON представяния на персонализирани обекти от горното представяне. Също така, прекомерните JOINS се избягват чрез запазване на данни под формата на масиви и документи (вградени) вътре в документ.

Актуализиране на документи в MongoDB

MongoDB предоставя актуализация () команда, използвана за актуализиране на документите на колекция. Основните параметри в командата са условие, за което документът трябва да бъде актуализиран и модификацията, която трябва да се извърши. Потребителят може да добави критерии към изявлението за актуализиране, за да актуализира само избрани документи. Примерът по-долу показва как се извършва актуализирането на една стойност в документ:

  • Въведете updateOne команда.
  • Изберете условието, което да се използва, за да решите кой документ да се актуализира. Например ще актуализираме документ с автора и статията.
  • Използвайте комплекта команда, за да промените името на полето, изберете името на полето, което искате да промените, след което въведете новата стойност, както е показано по-долу:
db.fossdb.updateOne(
{ item: "article" },
{
$set: { "foss": "fosslinux", author: "Abraham" },
$currentDate: { lastModified: true }
}
)

Изход:

Забележка: уверете се, че сте избрали правилната база данни, като използвате командата „use“. Например, използвам “fossdb”; следователно, за да избера правилната база данни, ще изпълня командата по-долу:

use fossdb

Изход:

Резултатът ще покаже, че един запис отговаря на условието и следователно съответната стойност на полето в документа е променена.

За да актуализира групови документи едновременно в MongoDB, потребителят ще трябва да използва няколко опции, тъй като по подразбиране само един документ се променя в даден момент. Кодът по-долу показва как потребителят може да актуализира много документи едновременно:

  • Първо ще намерим документа, в който авторът е „Авраам“ и ще променим името на автора от „Авраам“ на „Масаи“. След това ще издадем updateMany команда.
  • След това изберете условието, за да решите кой документ да бъде променен. Както споменахме по-рано, ще използваме документа с името „Автор“.
  • Изберете имената на полетата, които искате да актуализирате, след което въведете съответно новите им стойности.
db.fossdb.updateMany(
{ "articles": { $lt: 50 } },
{
$set: { "foss": "fosslinux", authors: "Masai" },
$currentDate: { lastModified: true }
}
)

Изход:

След успешното изпълнение на тази команда, изходът показва, че един запис отговаря на условието и следователно съответното поле е променено.

Защо потребителите трябва да изберат MongoDB

Следните са причините, поради които потребителите трябва да започнат да използват MongoDB:

Ориентиран към документи

Тъй като тази база данни е база данни тип NoSQL, данните се съхраняват в документи, вместо да имат данни във формат на релационен тип. Това прави тази база данни много гъвкава и адаптивна към реални ситуации и изисквания.

Ad hoc заявки

Търсенето по поле, заявки и търсене с регулярни изрази се поддържат в MongoDB; следователно могат да се правят заявки за връщане на конкретни полета в документите.

Индексиране

Индексите в MongoDB са създадени, за да подобрят производителността на търсенията в базата данни.

Балансиране на натоварването

MongoDB използва разделяне за хоризонтално мащабиране чрез разделяне на данни между множество екземпляри на MongoDB.

Репликация

Тази база данни осигурява висока наличност с набори от реплики. Всеки набор от реплика се състои от две или повече копия на MongoDB. Член на набора от реплика може да действа в ролята на първична или вторична реплика по всяко време. Основната реплика е централният сървър, който взаимодейства с клиента и изпълнява всички операции за четене/запис. За разлика от тях, вторичната реплика поддържа копие на първичната реплика, използвайки вградени данни за репликация.

Моделиране на данни в MongoDB

От горната дискусия данните в Mongo DB имат гъвкава схема. Колекциите на MongoDB не налагат структурата на документите, за разлика от SQL бази данни, където потребителят трябва да декларира схемата на таблицата, преди да вмъкне данни. Този вид гъвкавост е това, което прави MongoDB толкова мощен.

Когато моделират данни в MongoDB, потребителите трябва да имат предвид следните неща:

  • Модели за извличане на данни – в случай на интензивно използване на заявки, потребителите трябва да обмислят използването на индекси в своите модели на данни, за да подобрят ефективността на заявките.
  • Необходимости на приложението – потребителят трябва да разгледа бизнес нуждите на приложението и да види какви данни и тип данни са необходими за приложението.
  • Често ли се променя базата данни? – потребителите ще трябва да преразгледат използването на индекси или да включат разделяне, ако е необходимо в техния дизайн за моделиране на данни, за да подобрят ефективността на цялостната си среда MongoDB.

Заключение

Тази статия дава кратък анализ на MongoDB, вирусна база данни на пазара днес. В допълнение, той обяснява как да актуализирате съществуващи документи в MongoDB. Надяваме се тази статия да ви помогне да разберете по-добре MongoDB. В случай на някакъв проблем, свържете се с нас чрез секцията за коментари и ние веднага ще се свържем с вас.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Java/MongoDB заявка по дата

  2. MongoError:Опцията 'cursor' е задължителна, с изключение на агрегирането с аргумента за обяснение

  3. MongoDB срещу Касандра

  4. Как да валидирам членове на поле на масив?

  5. Актуализирайте колекцията MongoDB с помощта на $toLower