MongoDB: Pradžia

Kaip pradėti naudotis MongoDB

Norėdami užmegzti ryšį su savo MongoDB instancija naudodami Mongo CLI, galite naudoti šią komandą:

mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true

Pavyzdžiui, jei norite prisijungti kaip admin vartotojas prie admin duomenų bazės, galite vykdyti:

mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true

Jei jūsų sistemoje nėra įdiegta Mongo CLI, galite ją atsisiųsti iš oficialios MongoDB dokumentacijos. Arba, jei jūsų sistemoje yra Docker, galite naudoti šią komandą:

docker run -it mongo /bin/bash

Norint pagerinti saugumą ir užtikrinti geresnę organizaciją, patartina sukurti unikalius vartotojus kiekvienai duomenų bazei. Štai pavyzdinis scenarijus, kaip sukurti naują vartotoją:

db.getSiblingDB("myDatabase")
  .createUser({
    user: "myUser",
    pwd: "myPassword",
    roles: [ { role: "readWrite", db: "myDatabase" } ],
    passwordDigestor: "server"
  });

Aukščiau pateiktas scenarijus sukuria vartotoją myUser su slaptažodžiu myPassword ir suteikia jam skaitymo ir rašymo teises myDatabase duomenų bazei.

Įsitikinkite, kad esate prisijungę kaip admin vartotojas, kai atliekate vartotojų kūrimo operacijas.

Norėdami pašalinti vartotoją, pvz., myUser, iš myDatabase duomenų bazės, galite vykdyti šią komandą:

db.getSiblingDB("myDatabase").dropUser("myUser");

Norėdami sukurti MongoDB duomenų atsarginę kopiją, galite naudoti šią komandą:

mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Jei susiduriate su tokia klaida:

authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>

Tai gali būti dėl to, kad admin vartotojas nėra registruotas nurodytoje duomenų bazėje. Pridėjus --authenticationDatabase=admin parinktį, problema gali būti išspręsta:

mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Norėdami sukurti suspaustą atsarginę kopiją, galite pridėti --gzip parinktį:

mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Ši klaida gali atsirasti bandant sukurti vartotoją per Admin Mongo UI. Norėdami to išvengti, naudokite Mongo užklausą, pateiktą skyriuje duomenų bazių ir vartotojų kūrimas MongoDB.

Pastaba: Admin Mongo UI nepalaiko tiesioginio užklausų vykdymo. Vietoj to, galite apsvarstyti galimybę naudoti Mongo CLI (sužinokite daugiau) arba GUI įrankį, pvz., Robo 3T (peržiūrėkite konfigūracijos vadovą).