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

Utwórz kolekcję w MongoDB

Kiedy tworzysz bazę danych w MongoDB, twoja baza danych jest w zasadzie pustym kontenerem, do którego możesz dodać jedną lub więcej kolekcji.

Kolekcja jest analogiczna do tabeli w relacyjnych bazach danych.

W relacyjnych bazach danych możesz użyć CREATE TABLE aby utworzyć każdą tabelę, którą chcesz w bazie danych.

Ale MongoDB nie jest relacyjną bazą danych i przechowuje swoje dane jako dokumenty. Każdy dokument jest przechowywany w kolekcji.

W tym artykule dowiesz się, jak utworzyć kolekcję w MongoDB.

Dwie opcje

Masz dwie opcje tworzenia kolekcji w MongoDB:

  • Niejawne
  • Wyraźne

Oto przykład każdego z nich.

Utwórz kolekcję – niejawnie

Kolekcję można utworzyć niejawnie, po prostu dodając dokument do nieistniejącej kolekcji. Gdy to zrobisz, kolekcja zostanie utworzona, jeśli jeszcze nie istnieje.

Oto przykład niejawnego tworzenia kolekcji:

db.pets.insert({ name: "Fetch" })

Tworzy to kolekcję o nazwie pets i wstawia do niego dokument.

W rzeczywistości tworzy kolekcję tylko wtedy, gdy jeszcze nie istnieje. Jeśli już istnieje, po prostu wstawia dokument do istniejącej kolekcji o tej nazwie.

Zasadniczo składnia wygląda tak:

db.<collection>.insert()

Gdzie to nazwa kolekcji.

Utwórz kolekcję – jawnie

Możesz także tworzyć kolekcje jawnie za pomocą db.createCollection() metoda. Ta metoda pozwala określić różne opcje, takie jak ustawienie maksymalnego rozmiaru lub zasady walidacji dokumentacji.

Jest to trochę analogiczne do CREATE TABLE instrukcja w języku SQL. Powiedziawszy to, MongoDB nie wymaga określania kolumn, typów danych itp., tak jak trzeba by określić za pomocą CREATE TABLE oświadczenie podczas korzystania z relacyjnej bazy danych.

Oto przykład użycia db.createCollection() metoda tworzenia kolekcji:

db.createCollection("employees")

Wynik:

{ "ok" : 1 } 

W tym przykładzie nie określiłem żadnych opcji. Dlatego nie było żadnej rzeczywistej korzyści z tworzenia tego w taki sposób, jak ten werset, tworząc go niejawnie (jak w poprzednim przykładzie).

Jeśli jednak chcesz określić opcje dla swojej kolekcji, to jawne jej utworzenie jest najlepszym rozwiązaniem.

Oto przykład określenia niektórych opcji podczas tworzenia kolekcji:

db.createCollection(
    "products", 
    { 
        capped : true, 
        size : 7500500, 
        max : 7000 
    } 
)

Wynik:

{ "ok" : 1 } 

Oto wyjaśnienie opcji, które podałem w tym przykładzie:

  • ograniczony argument pozwala określić, czy rozmiar kolekcji powinien być ograniczony (tj. Nie może przekroczyć określonego rozmiaru). Jeśli określisz true , musisz także ustawić maksymalny rozmiar w rozmiar pole.
  • rozmiar argument ustawia maksymalny rozmiar w bajtach dla ograniczonej kolekcji. Gdy ograniczona kolekcja osiągnie maksymalny rozmiar, MongoDB usuwa starsze dokumenty, aby zrobić miejsce na nowe dokumenty. rozmiar pole jest wymagane w przypadku kolekcji ograniczonych i ignorowane w przypadku innych kolekcji.
  • maks argument pozwala określić maksymalną liczbę dokumentów dozwolonych w ograniczonej kolekcji. Jeśli ograniczona kolekcja osiągnie rozmiar limit zanim osiągnie maksymalną liczbę dokumentów, MongoDB usuwa stare dokumenty. Dlatego upewnij się, że rozmiar argument jest wystarczający, aby zawierać liczbę dokumentów określoną przez max argument.

Oto trzy różne opcje, które można określić za pomocą db.createCollection() metoda.

Składnia i więcej szczegółów

Pełna składnia (w chwili pisania tego tekstu) wygląda tak:

db.createCollection( <name>,
   {
     capped: <boolean>,
     autoIndexId: <boolean>,
     size: <number>,
     max: <number>,
     storageEngine: <document>,
     validator: <document>,
     validationLevel: <string>,
     validationAction: <string>,
     indexOptionDefaults: <document>,
     viewOn: <string>,
     pipeline: <pipeline>,
     collation: <document>,
     writeConcern: <document>
   }
)

Zobacz db.createCollection() z oficjalnej dokumentacji MongoDB, aby uzyskać szczegółowe wyjaśnienie każdej opcji.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. zapytanie zwrotne na podstawie daty

  2. Błąd Node.js:Nie można znaleźć modułu „mongoose”

  3. sortuj według długości łańcucha w Mongodb/pymongo

  4. Polecenie mongo nie zostało rozpoznane podczas próby połączenia z serwerem mongodb

  5. mongodb - Znajdź dokument z najbliższą liczbą całkowitą