Możesz utworzyć kolekcję za pomocą createCollection()
lub w locie podczas wstawiania dokumentu.
Kolekcje są jak pojemniki na powiązane dokumenty. Są one zwykle używane do grupowania dokumentów o podobnej tematyce. Na przykład możesz mieć nazwy kolekcji, takie jak
użytkownicy
, pageviews
, posts
, comments
itp.
Kiedy stworzyliśmy naszą bazę danych, stworzyliśmy kolekcję o nazwie artyści . Ta kolekcja będzie zawierać dokumenty ze szczegółami wykonawców, takimi jak nazwiska wykonawców, wydane przez nich albumy itp.
Dwa sposoby tworzenia kolekcji
Oto dwa sposoby tworzenia kolekcji:
- Możesz utworzyć kolekcję w locie podczas wstawiania dokumentu (za pomocą
insert()
metoda. - Możesz także utworzyć kolekcję jawnie, używając funkcji
createCollection()
metoda.
W locie
Kiedy używasz insert()
metody wstawiania dokumentu, określasz kolekcję, do której zostanie wstawiony dokument. Jeśli kolekcja jeszcze nie istnieje, zostanie utworzona.
Jest to metoda, której używaliśmy wcześniej, kiedy tworzyliśmy naszych artists
kolekcji podczas wstawiania dokumentu.
Oto kod, którego użyliśmy:
db.artists.insert({ artistname: "The Tea Party" })
W tym przypadku artists
kolekcja wcześniej nie istniała, więc została stworzona dla nas.
Korzystanie z createCollection()
Metoda
Możesz także tworzyć kolekcje za pomocą createCollection()
metoda. Pozwala to na tworzenie kolekcji bez wstawiania dokumentu.
Oto przykład użycia createCollection()
metoda:
db.createCollection("producers")
Z opcjami
Możesz również określić opcje dla kolekcji, używając db.createCollection(name, options)
składnia.
Oto przykład:
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )
Pola dostępne od MongoDB w wersji 3.2 są następujące.
Pole | Typ | Opis | ||||||
---|---|---|---|---|---|---|---|---|
capped | wartość logiczna | Gdy ustawione na true , tworzy ograniczoną kolekcję. Kolekcja ograniczona to kolekcja o stałym rozmiarze, która automatycznie nadpisuje najstarsze wpisy, gdy osiągnie maksymalny rozmiar. Jeśli określisz true , musisz także ustawić maksymalny rozmiar w size pole. | ||||||
autoIndexId | wartość logiczna | Określ false aby wyłączyć automatyczne tworzenie indeksu na _id pole. Od wersji 3.2 MongoDB to pole jest przestarzałe i zostanie usunięte w wersji 3.4. | ||||||
size | liczba | Maksymalny rozmiar w bajtach dla ograniczonej kolekcji. Używany tylko z kolekcjami ograniczonymi (jest ignorowany w innych kolekcjach). | ||||||
max | liczba | Maksymalna liczba dokumentów dozwolona w ograniczonej kolekcji. Zwróć uwagę, że size pole ma pierwszeństwo przed max pole. Jeśli kolekcja osiągnie limit rozmiaru przed osiągnięciem limitu dokumentów, MongoDB i tak usunie dokumenty. | ||||||
usePowerOf2Sizes | wartość logiczna | Dostępne tylko w aparacie pamięci masowej MMAPv1. To pole jest przestarzałe od wersji 3.0. | ||||||
noPadding | wartość logiczna | Dostępne tylko w aparacie pamięci masowej MMAPv1. Wyłącza moc alokacji 2 rozmiarów dla kolekcji. Domyślnie false . | ||||||
storageEngine | dokument | Dostępne tylko w silniku pamięci masowej WiredTiger. Umożliwia konfigurowanie aparatu magazynu dla poszczególnych kolekcji podczas tworzenia kolekcji. Składnia jest następująca:{ <storage-engine-name>: <options> } | ||||||
validator | dokument | Umożliwia określenie reguł lub wyrażeń walidacji dla kolekcji. Pamiętaj, że sprawdzanie poprawności jest stosowane tylko podczas wstawiania i aktualizowania danych. Dlatego dane, które już istnieją w bazie danych, nie są sprawdzane (dopóki nie zostaną zaktualizowane). | ||||||
validationLevel | ciąg | Umożliwia określenie, jak ściśle wszelkie reguły sprawdzania poprawności są stosowane do istniejących dokumentów podczas aktualizacji. Możliwe wartości:
| ||||||
validationAction | ciąg | Określa, czy po wstawieniu nieprawidłowych dokumentów powinien wystąpić błąd, czy tylko ostrzeżenie. W przypadku błędu nieprawidłowe dokumenty nadal będą wstawiane, ale z ostrzeżeniem.
| ||||||
indexOptionDefaults | dokument | Umożliwia określenie domyślnej konfiguracji indeksów podczas tworzenia kolekcji. Akceptuje storageEngine dokument o następującej składni:{ |