MongoDB предоставя на своите потребители възможността да създават модерни бази данни, които са лесно достъпни и манипулирани.
MongoDB е база данни с отворен код NoSQL, която е достъпна за използване във всички операционни системи.
Ако сте научили дизайна на базата данни в училище, има вероятност да не сте се научили как да използвате MongoDB или да сте натрупали голям опит с базите данни NoSQL. Това не е изненада - до 1998 г. много хора дори не бяха чували за NoSQL, а едва през 2009 г. базите данни NoSQL започнаха да придобиват все по-голяма сила.
Какво е NoSQL?
Съкращението SQL означава „език за структурирани заявки“. SQL се използва за извършване на математически операции върху данни, съхранявани в бази данни, които са строго структурирани от редове и колони (таблици).
Съкращението NoSQL, в зависимост от това, когото питате, означава „не само SQL“ или „не SQL“. Въпреки това, единственият факт, че всеки може да се съгласи, че NoSQL се използва за извършване на операции с данни, които се съхраняват в бази данни, които не са структурирани по редове и колони.
Съществуват няколко бази данни NoSQL, но името, което стои над останалите, е MongoDB. Всъщност някои хора смятат, че MongoDB е единствената база данни от този вид.
Какво е MongoDB?
NoSQL поддържа четири различни типа бази данни: документ, хранилища ключ-стойност, ориентирани към колони и графики. MongoDB е база данни с документи, тъй като съхранява данни в JSON-подобен документ и както всички бази данни поддържа всички основни CRUD операции.
Свързани: Как базата данни MongoDB може по-добре да организира вашите данни
Какво представляват CRUD операциите?
Съкращението CRUD означава „създаване, четене, актуализиране и изтриване“. CRUD представлява четирите основни функционални изисквания на всички бази данни. Ако използвате база данни, която не ви позволява да създавате, четете, актуализирате или изтривате записи, това не е база данни.
Изтеглете MongoDB
Преди да можете да извършвате CRUD операции в MongoDB, ще трябва да изтеглите и инсталирате MongoDB на вашия устройство (или използвайте налична версия в облак), стартирайте сървъра MongoDB, свържете се с него и накрая създайте нов база данни.
Сървърът MongoDB може да бъде изтеглен от официалния Уебсайт на MongoDB.
Изпълнение на MongoDB сървъра
Изпълнете сървъра MongoDB от конзолата на вашата IDE.
/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data
Кодът по-горе изпълнява сървъра MongoDB. Първата половина осигурява директния път до изпълнимия файл MongoDB (mongod.exe), който се съхранява на вашето устройство. Името на пътя на вашето устройство трябва да е различно, но целта е да се достигне до файла mongod.exe в папката bin.
Втората половина на кода (която е отделена от интервала) е друго име на път. Този път води до „mongodb-data“, който е файл, който ще трябва да създадете сами. Този файл ще съдържа всички данни, които са създадени в нашата база данни.
Нашият файл се нарича „mongodb-data“, но името може да бъде каквото прецените за подходящо.
Изпълнението на горния код трябва да доведе до няколко реда код, но двата реда, на които трябва да обърнете голямо внимание, можете да видите по-долу:
{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "МРЕЖА", "id": 23015, "ctx": "слушател", "msg": "Прослушване", "attr": {"адрес": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "МРЕЖА", "id": 23016, "ctx": "listener", "msg": "В очакване на връзки", "attr": {"port": 27017, "ssl": "off"}}
Тези два реда съдържат съответно localhost и порта по подразбиране на сървъра MongoDB. Тези две числа са необходими за по-късно създаване на връзка със сървъра MongoDB, за да можем да извършваме нашите CRUD операции.
Извършване на CRUD операции
Сега, когато нашият сървър MongoDB работи и работи, можем да се свържем с него (използвайки подходящия драйвер) и да започнем да изпълняваме CRUD операции. За тази статия ще създадем проста потребителска база данни, която ще съхранява имената и възрастта на нашите потребители.
Създаване на потребител
Има два основни начина за вмъкване на потребители в база данни MongoDB. И двата метода са доста сходни, но методът, който трябва да изберете, зависи от броя потребители, които искате да създадете в конкретен екземпляр. Ако целта ви е да създадете един потребител, трябва да използвате insertOne метод.
Ако обаче целта е да се създадат повече от един потребител наведнъж, тогава insertMany метод е по-добър вариант.
MongoDB insertOne Пример за метод
// импортираме mongodb и използваме деструктуриране, за да получим функцията MongoClient
const {MongoClient} = изисква ("mongodb");
// URL адресът за връзка и базата данни, към която възнамеряваме да се свържем
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// използване на функцията за свързване на MongoClient за свързване със сървъра на MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (грешка, клиент) => {
// проверяваме дали връзката е установена
ако (грешка) {
return console.log ('Не може да се свърже с база данни');
}
// достъп до базата данни на мениджъра на потребители
const db = client.db (име на база данни);
// вмъкване на един потребител в базата данни
db.collection ('потребители'). insertOne ({
име: „Джон Доу“,
възраст: '28'
}, (грешка, резултат) => {
ако (грешка) {
return console.log ('Не може да се създаде потребител');
}
console.log (result.ops);
})
})
Преди да можем да създадем потребители, трябва да се установи връзка със сървъра MongoDB, използвайки драйвера MongoDB на езика, който използвате. Най-популярният драйвер и този, който използваме в този урок, е драйверът NodeJS.
С първия ред на нашия код по-горе можем да използваме метода за деструктуриране, за да извлечем функцията MongoClient от нашия сървър.
MongoClient приема три аргумента:
- URL адрес (използван за свързване към сървъра MongoDB)
- Опции / настройки (което в този случай задава променливата „useUnifiedTopology“ на true, за да улесни използването на новия сървър за откриване и наблюдение на двигателя)
- Функция за обратно извикване, която взема два аргумента (грешка и клиент)
В рамките на функцията за обратно извикване на метода MongoClient можем най-накрая да вмъкнем потребител в нашата база данни. Но преди да стигнем до този момент, трябва да получим достъп до базата данни на потребителски мениджър.
Една от красотите на използването на MongoDB е, че няма нужда изрично да се създава база данни. След като се генерира препратка към конкретна база данни с помощта на аргумента „клиент“ (както се вижда в горния код), можете да започнете да я манипулирате.
Препратката към базата данни на потребителски мениджър, която генерираме, се съхранява в променливата „db“, която ще използваме, за да вмъкнем първия си потребител в базата данни.
Използвайки препратката „db“, можем да създадем нова колекция, на която да присвоим името „потребител“.
The insertOne методът взема два задължителни аргумента; документа (потребителя) и функция за обратно извикване. С insertOne метод, ние можем да вмъкнем потребител с името на Питър Дейвис с възрастта на 32, в нашата база данни.
Функцията за обратно извикване взема два аргумента (грешка и резултат). Функцията за резултат съдържа ops метод, който използваме, за да видим потребителя, който току-що сме създали в нашата база данни. Това създава следния изход в конзолата след изпълнението на горния код:
[{име: 'Питър Дейвис', възраст: '32', _id: 60772f869475e84740003c45}]
Въпреки че при създаването на потребител предоставихме само две полета, от изхода по-горе можете да видите, че е генерирано трето поле. Това е още едно страхотно нещо за MongoDB; той автоматично генерира уникален идентификатор за всеки документ, който създава.
Свързани: Как е различно моделирането на данни в MongoDB?
Четене на потребител в MongoDB
Двата основни метода, използвани за четене на документи от MongoDB, са: намирам и findOne. The намирам метод се използва за четене на множество документи едновременно и findOne метод се използва за четене на един документ наведнъж.
Пример за метод на MongoDB findOne
// импортираме mongodb и използваме деструктуриране, за да получим метода MongoClient
const {MongoClient} = изисква ("mongodb");
// URL адресът за връзка и базата данни, към която възнамеряваме да се свържем
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// използване на функцията за свързване на MongoClient за свързване със сървъра на MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (грешка, клиент) => {
// проверяваме дали връзката е установена
ако (грешка) {
return console.log ('Не може да се свърже с база данни');
}
// създаване на база данни на потребителски мениджър
const db = client.db (име на база данни);
// намиране на един потребител в базата данни
db.collection ('потребители'). findOne ({име: 'Питър Дейвис'}, (грешка, потребител) => {
ако (грешка) {
return console.log ('Не може да се намери потребител');
}
console.log (потребител);
})
});
Добре е да запомните, че винаги ще трябва да се свързвате със сървъра MongoDB и съответната база данни, преди да можете да извършвате каквито и да било CRUD операции (както се вижда в нашия пример по-горе).
The findOne метод взема два задължителни аргумента. Първият аргумент съдържа критериите за търсене; можете да търсите документ, като използвате произволно име на променлива, което е уникално за него. В нашия пример по-горе използваме името „Питър Дейвис“.
Вторият аргумент на findOne метод е функцията за обратно извикване, която взема два аргумента; първата е грешка, ако документът не може да бъде локализиран, а втората е документът (който нарекохме „потребител“).
Изпълнението на горния код ще доведе до следния резултат в конзолата:
{_id: 60772f869475e84740003c45, име: „Питър Дейвис“, възраст: „32“}
Актуализиране на потребител в MongoDB
Има два налични метода за актуализиране на документи в MongoDB. Въпреки че структурата и на двете е много сходна, updateOne се използва за актуализиране на един документ наведнъж и updateMany се използва за актуализиране на много документи наведнъж.
MongoDB updateOne метод пример
// Актуализиране на възрастта на потребителя
db.collection ('потребители'). updateOne ({име: "Питър Дейвис"},
{
$ set: {
възраст: "24"
}
})
С горния код можем да актуализираме възрастта на Питър Дейвис до 24 години.
Изтриване на потребител в MongoDB
Има два метода за изтриване на документ от MongoDB. The deleteOne метод се използва за изтриване на един документ, а deleteMany метод се използва за изтриване на множество документи.
MongoDB deleteOne Пример за метод
// изтриване на документ
db.collection ('потребители'). deleteOne ({име: 'Питър Дейвис'})
Операцията за изтриване е най-простата CRUD операция, която може да се извърши в MongoDB. Както можете да видите в примера по-горе (без да се включват необходимия код за връзка и функция за обратно извикване), той отнема само един ред код.
Вече можете да извършвате CRUD операции в MongoDB
Сега имате основни познания за MongoDB и знаете какво означава NoSQL. Също така знаете какво означава съкращението CRUD и защо тези операции са съществени качества на всяка база данни.
Тази статия ви предоставя всички инструменти, необходими за извършване на четирите основни CRUD операции в MongoDB. След като сте оборудвани с ноу-хау за CRUD операции, можете да започнете да научавате как най-добре да моделирате вашите данни с помощта на MongoDB.
Кредит за изображението: Александър Сослуев /WiKiMedia Commons
Имате предвид различен подход към базите данни? Ето как работи моделирането на данни в MongoDB.
Прочетете Напред
- Програмиране
- Уроци за кодиране
- база данни
Kadeisha Kean е разработчик на софтуер с пълен стек и писател на технически / технологични технологии. Тя има отчетливата способност да опростява някои от най-сложните технологични концепции; производство на материал, който може лесно да бъде разбран от всеки новак в технологията. Тя е запалена по писането, разработването на интересен софтуер и пътуването по света (чрез документални филми).
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.