MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zaktualizować istniejące dokumenty w MongoDB

MongoDB został po raz pierwszy opracowany w 2007 roku przez Dwighta Merrimana i Eliota Horowitza, gdy napotkali problemy ze skalowalnością relacyjnych baz danych podczas tworzenia korporacyjnych aplikacji internetowych w swojej firmie, znanych jako DoubleClick. Według jednego z programistów jego nazwa wywodzi się od słowa humongous wspierać ideę przetwarzania dużej ilości danych.

Baza danych stała się projektem open source w 2009 roku, podczas gdy firma oferowała usługi wsparcia komercyjnego. Wiele firm przyjęło MongoDB ze względu na jego unikalne cechy. Jedną z tych firm była gazeta The New York Times, która wykorzystała tę bazę danych do zbudowania aplikacji internetowej do przesyłania zdjęć. W roku 2013 firma DoubleClick oficjalnie zmieniła nazwę MongoDB Inc.

Komponenty MongoDB

Podstawowe komponenty MongoDB i ich użycie obejmują:

  • Kolekcje – Ich odpowiednikami w RDBMS są tabele. Jest to zestaw dokumentów MongoDB
  • Dokument – Jego odpowiednikiem w RDBMS jest Row. To jest zbiór danych przechowywanych w formacie BSON
  • Pole – Jest to pojedynczy element w dokumencie MongoDB, który zawiera wartości jako pola i pary wartości.

Przechowywanie oparte na dokumentach

Dokument jest strukturą danych z parami nazwa-wartość, takimi jak JSON, i mapowanie dowolnego niestandardowego obiektu dowolnego języka programowania za pomocą dokumentu MongoDB jest łatwe. Na przykład Student obiekt ma atrybuty takie jak nazwa, identyfikator studenta, i przedmioty gdzie tematy są Listą. Dokument dla Studentów w MongoDB będzie wyglądał tak:

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

Zauważysz, że dokumenty są reprezentacjami JSON obiektów niestandardowych z powyższej reprezentacji. Ponadto unika się nadmiernych JOINS, zapisując dane w postaci tablic i dokumentów (osadzone) wewnątrz dokumentu.

Aktualizacja dokumentów w MongoDB

MongoDB zapewnia aktualizację () polecenie używane do aktualizacji dokumentów kolekcji. Podstawowe parametry w poleceniu to warunek, dla którego dokument musi zostać zaktualizowany oraz modyfikacja, której należy dokonać. Użytkownik może dodać kryteria do wyciągu aktualizacji, aby aktualizować tylko wybrane dokumenty. Poniższy przykład pokazuje, jak odbywa się aktualizacja pojedynczej wartości w dokumencie:

  • Wprowadź updateOne polecenie.
  • Wybierz warunek, który będzie używany do określenia, który dokument ma być aktualizowany. Na przykład zaktualizujemy dokument z autorem i artykułem.
  • Użyj zestawu polecenie, aby zmodyfikować nazwę pola, wybierz nazwę pola, którą chcesz zmienić, a następnie wprowadź nową wartość, jak pokazano poniżej:
db.fossdb.updateOne(
{ item: "article" },
{
$set: { "foss": "fosslinux", author: "Abraham" },
$currentDate: { lastModified: true }
}
)

Wyjście:

Uwaga: upewnij się, że wybrałeś poprawną bazę danych za pomocą polecenia „użyj”. Na przykład używam „fossdb”; dlatego, aby wybrać odpowiednią bazę danych, wykonam poniższe polecenie:

use fossdb

Wyjście:

Dane wyjściowe pokażą, że jeden rekord pasował do warunku, a zatem odpowiednia wartość pola w dokumencie została zmodyfikowana.

Aby jednocześnie zaktualizować dokumenty zbiorcze w MongoDB, użytkownik będzie musiał użyć wielu opcji, ponieważ domyślnie modyfikowany jest tylko jeden dokument na raz. Poniższy kod pokazuje, jak użytkownik może aktualizować wiele dokumentów jednocześnie:

  • Najpierw znajdziemy dokument, którego autorem jest „Abraham” i zmienimy nazwisko autora z „Abraham” na „Masai”. Następnie wydamy updateMany polecenie.
  • Następnie wybierz warunek, aby zdecydować, który dokument ma zostać zmodyfikowany. Jak wspomniano wcześniej, użyjemy dokumentu z nazwą „Autor”.
  • Wybierz nazwy pól, które chcesz zaktualizować, a następnie wprowadź odpowiednio ich nowe wartości.
db.fossdb.updateMany(
{ "articles": { $lt: 50 } },
{
$set: { "foss": "fosslinux", authors: "Masai" },
$currentDate: { lastModified: true }
}
)

Wyjście:

Po pomyślnym uruchomieniu tego polecenia dane wyjściowe pokazują, że jeden rekord spełnił warunek, a zatem odpowiednie pole zostało zmodyfikowane.

Dlaczego użytkownicy powinni wybierać MongoDB

Oto powody, dla których użytkownicy powinni zacząć korzystać z MongoDB:

Zorientowany na dokument

Ponieważ ta baza danych jest bazą danych typu NoSQL, dane są przechowywane w dokumentach zamiast w formacie relacyjnym. Dzięki temu ta baza danych jest bardzo elastyczna i można ją dostosować do rzeczywistych sytuacji i wymagań.

Kwerendy ad hoc

MongoDB obsługuje wyszukiwanie według pól, zapytań i wyrażeń regularnych; w związku z tym można zadawać pytania, aby przywrócić określone pola w dokumentach.

Indeksowanie

Indeksy w MongoDB są tworzone w celu poprawy wydajności wyszukiwania w bazie danych.

Równoważenie obciążenia

MongoDB używa shardingu do skalowania w poziomie, dzieląc dane na wiele instancji MongoDB.

Replikacja

Ta baza danych zapewnia wysoką dostępność dzięki zestawom replik. Każdy zestaw replik składa się z co najmniej dwóch instancji MongoDB. Element zestawu replik może w dowolnym momencie pełnić rolę repliki podstawowej lub wtórnej. Replika podstawowa to serwer centralny, który współdziała z klientem i wykonuje wszystkie operacje odczytu/zapisu. W przeciwieństwie do tego replika wtórna przechowuje kopię repliki głównej przy użyciu wbudowanych danych replikacji.

Modelowanie danych w MongoDB

Z powyższej dyskusji wynika, że ​​dane w Mongo DB mają elastyczny schemat. Kolekcje MongoDB nie wymuszają struktury dokumentu, w przeciwieństwie do baz danych SQL, w których użytkownik musi zadeklarować schemat tabeli przed wstawieniem danych. Ten rodzaj elastyczności sprawia, że ​​MongoDB jest tak potężny.

Podczas modelowania danych w MongoDB użytkownicy powinni pamiętać o następujących rzeczach:

  • Wzorce pobierania danych – w przypadku intensywnego użycia zapytań użytkownicy powinni rozważyć użycie indeksów w swoich modelach danych w celu poprawy wydajności zapytań.
  • Potrzeby aplikacji – użytkownik powinien przyjrzeć się potrzebom biznesowym aplikacji i zobaczyć, jakie dane i rodzaj danych są potrzebne dla aplikacji.
  • Czy baza danych jest często modyfikowana? – użytkownicy będą musieli ponownie rozważyć użycie indeksów lub włączyć sharding, jeśli jest to wymagane w projekcie modelowania danych, aby poprawić wydajność ich ogólnego środowiska MongoDB.

Wniosek

W tym artykule przedstawiono krótką analizę MongoDB, wirusowej bazy danych dostępnej obecnie na rynku. Ponadto wyjaśniono, jak aktualizować istniejące dokumenty w MongoDB. Mamy nadzieję, że ten artykuł pomoże Ci lepiej zrozumieć MongoDB. W przypadku jakichkolwiek problemów skontaktuj się z nami za pośrednictwem sekcji komentarzy, a my skontaktujemy się z Tobą.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Aktualizacja MongoDBOne()

  2. Konwertuj ciąg na ObjectID w MongoDB

  3. $unset jest pusty. Musisz określić pole takie jak:{$unset:{<pole>:...}}

  4. Błąd podczas aktualizacji Mongodb z 3.2 do 3.6

  5. Kroki instalacji MongoDB na Amazon Linux