MongoDB няма CREATE DATABASE
израз като SQL.
В MongoDB създавате база данни просто като превключите към несъществуваща база данни, след което вмъкнете данни.
Пример
Ето пример за създаване на нова база данни:
use PetHotel
Резултат:
switched to db PetHotel
Това създава нова база данни, наречена PetHotel
и го прави текущата база данни.
Базата данни обаче е създадена само частично. Той не е напълно създаден, докато не вмъкнете данни.
Ако стартираме show dbs
команда, за да видите какви бази данни имаме, тя няма да бъде показана.
show dbs
Резултат:
admin 0.000GB config 0.000GB local 0.000GB
Това е наборът по подразбиране от бази данни, които са инсталирани с MongoDB. Ако имате други бази данни, ще ги видите и тук.
Но въпросът е, че нашият новосъздаден PetHotel
база данни не се вижда никъде!
Вмъкване на данни
За да създадем напълно базата данни, трябва да вмъкнем някои данни. Дори само малко количество е достатъчно.
Пример:
db.pets.insert({ name: "Fetch" })
Резултат:
WriteResult({ "nInserted" : 1 })
Това съобщение ни казва, че един документ е бил вмъкнат.
Сега, когато стартираме show dbs
отново можем да видим нашата новосъздадена база данни.
show dbs
Резултат:
PetHotel 0.000GB admin 0.000GB config 0.000GB local 0.000GB
Колекции
Базата данни съдържа колекции. В нашия случай вече сме създали колекция, наречена pets
.
Когато вмъквате данни, използвате синтаксиса по следния начин:
db.<collection>.insert()
Където <collection>
е името на колекцията, в която да се вмъкнат данни. Ако колекцията не съществува, тя ще бъде създадена.
В нашия случай използвахме следната команда:
db.pets.insert({ name: "Fetch" })
Което създаде колекция, наречена pets
(защото вече не съществуваше).
Проверете данните
Можете да използвате find()
метод за събиране, за да проверите данните в колекцията.
Пример:
db.pets.find()
Резултат:
{ "_id" : ObjectId("5fe02d3937b49e0faf1af20b"), "name" : "Fetch" }
Както се очакваше, нашият документ е върнат.
Ще забележите, че има и допълнително поле. Има _id
поле, което не сме посочили при добавянето на документа.
_id
полето е специално поле. Използва се като идентификатор на документа. Ако документът не посочва _id
поле, тогава MongoDB ще добави _id
поле и задайте уникален ObjectId
за документа преди вмъкване.
Като алтернатива можете да предоставите свой собствен _id
поле и му задайте своя собствена стойност. Обърнете внимание обаче, че _id
стойността трябва да е уникална в колекцията, за да се избегне грешка при дублиран ключ.