MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Урокът за основите на MongoDB

MongoDB е NoSQL база данни. Под NoSQL чадър поставяме всички онези бази данни, които не използват езика SQL за запитване на данните.

Ключови характеристики на MongoDB

MongoDB е много удобна за JavaScript база данни. Той разкрива JavaScript API, който можем да използваме за създаване на бази данни и колекции от обекти (наречени документи ).

Това е безсхемно , което означава, че не е необходимо да дефинирате предварително структура за данните, преди да ги съхраните.

В MongoDB можете да съхранявате всеки обект, без да се притеснявате за конкретните полета, които съставят този обект и как да ги съхранявате. Вие казвате на MongoDB да съхранява този обект.

Данните се съхраняват във формат, подобен на JSON, но подобрен, за да позволи съхраняването на повече от просто основни типове данни.

Инсталиране

Нека да продължим и да инсталираме MongoDB. Можете да използвате един от многото облачни доставчици, които предлагат достъп до екземпляр на MongoDB, но за да научим, ние ще го инсталираме сами.

Използвам Mac, така че инструкциите за инсталиране в този урок се отнасят за тази операционна система.

Отворете терминала и стартирайте:

brew tap mongodb/brew
brew install mongodb-community

Това е.

Инструкциите не бяха твърде дълги или сложни, ако приемем, че знаете как да използвате терминала и как да инсталирате Homebrew.

Инсталацията ни казва това:

To have launchd start mongodb now and restart at login:
  brew services start mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Можете да изберете или да стартирате MongoDB веднъж и той да работи завинаги като фонова услуга на вашия компютър (нещото, което предпочитам), или можете да го стартирате точно когато имате нужда, като изпълните последната команда.

Конфигурацията по подразбиране за MongoDB е следната:

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

Регистратурите се съхраняват в /usr/local/var/log/mongodb/mongo.log и базата данни се съхранява в /usr/local/var/mongodb .

По подразбиране няма контрол на достъпа, всеки може да чете и пише в базата данни.

Обвивката на Mongo

Най-добрият начин да експериментирате с MongoDB и да започнете да взаимодействате с него е като стартирате mongo програма, която стартира обвивката на MongoDB.

Вече можете да въведете всяка команда, която Mongo разбира.

Създайте база данни

Когато стартирате, Mongo създава база данни, наречена test . Изпълнете db в обвивката, за да ви каже името на активната база данни

За да промените базата данни, просто напишете use newname и newname база данни ще бъде създадена незабавно и обвивката ще премине към използването й.

Използвайте show databases за да изброите наличните бази данни:

Както можете да видите, something базата данни не е в списъка, просто защото в нея все още няма колекция. Нека създадем такъв.

Колекции

В MongoDB, колекция е еквивалент на таблица на SQL база данни.

Създавате колекция в текущата база данни, като използвате db.createCollection() команда. Първият аргумент е името на базата данни и можете да подадете обект с опции като втори параметър.

След като го направите, show databases ще изброи новата база данни и show collections ще изброи колекцията.

Можете също да създадете нова колекция, като я използвате като свойство на db обект и извикване на insert() за да добавите обект към колекцията:

db.dogs.insert({ name: 'Roger' })

Изброяване на обекти в колекция

За да покажете добавените към колекция обекти, използвайте find() метод:

Както можете да видите, има допълнителен _id свойство за записа, който добавихме. Това се генерира автоматично за нас от MongoDB.

Сега добавете още кучета:

db.dogs.insert({ name: 'Buck' })
db.dogs.insert({ name: 'Togo' })
db.dogs.insert({ name: 'Balto' })

Извикване на db.dogs.find() ще ни даде всички записи, докато можем да предадем параметър за филтриране и извличане на конкретен запис, например с db.dogs.find({name: 'Roger'}) :

find() метод връща курсор, който трябва да повторите.

Има друг метод, който е удобен, когато знаете, че ще получите само един запис, който е findOne() , и се използва по същия начин. Ако няколко записа съвпадат с една заявка, тя просто ще върне първия.

Записите се актуализират

За да актуализирате запис, можете да използвате update() метод за колекция:

Премахване на записи

Можете да премахнете запис, извиквайки remove() метод на колекция, подаване на обект, за да помогне за идентифицирането му:

За да премахнете всички записи от колекция, предайте празен обект:

db.dogs.remove({})

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да инсталирате MongoDB 4.2 на системи RedHat/ CentOS 7

  2. Търсене на стойност на всяко поле в MongoDB без изрично именуване

  3. Разстояние за печат на MongoDB между две точки

  4. 6 полезни инструмента за наблюдение на производителността на MongoDB

  5. MongoDB Node проверява дали objectid е валиден