« Mongodb » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 119 : Ligne 119 :
# tools
# tools
yay mongodb-tools
yay mongodb-tools
# service
sc-status mongodb.service
</kode>
</kode>

Version du 18 février 2024 à 15:21

Connect and authenticate

Bash.svg
# connect
mongo mongodb://localhost:27017
# alias
mongo

# connect and authenticate, use an environment variable to hide the password
mongo "mongodb://user:${DBPASSWORD}@<host>:<port>/admin?authSource=admin"

Authenticate

Mongodb.svg
db.auth("username", "pwd")

db.auth("username", passwordPrompt())

Database

Mongodb.svg
// list the databases
show dbs

// drop the current database
db.dropDatabase()

Backup and restore

Bash.svg
# restore the backup folder dump to the local mongodb instance
mongorestore dump/

don't know what to do with file while restore

This may happen because the mongorestore command point to a backup sub-folder not to the backup folder itself.

Authentication

Mongodb.svg
// list the users of the current database
db.getUsers()
db.runCommand('usersInfo')

// get info of a specific user
db.getUser("tom", { showCredentials: true, showPrivileges: true, showAuthenticationRestrictions: true })

// create admin
use admin
db.createUser(
  {
    user: "admin",
    pwd: "mypwd",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

// create a user for the demo database
use demo
db.createUser(
  {
    user: "tom",
    pwd: passwordPrompt(), // or cleartext password
    roles: [ { role: "readWrite", db: "demo" },
             { role: "read", db: "finances" } ]
  }
)

// change password
use admin
db.changeUserPassword("tom", "secretpassword")
db.changeUserPassword("tom", passwordPrompt())

// delete a user
db.dropUser("tom")
/etc/mongod.conf
security:
authorization: "enabled"

Bash

Bash.svg
mongo <<EOF
    use admin
    db.auth("admin", "${MONGODBADMINPWD}")
    use mydb
    db.dropDatabase()
EOF

Compass

Installation

Windows

Ps.svg
choco install mongodb mongodb-shell
Key Value
Service name MongoDB
Data directory C:\Program Files\MongoDB\Server\6.0\data\
Log directory C:\Program Files\MongoDB\Server\6.0\log\

Archlinux

Bash.svg
yay mongodb-bin
# install dependencies mongodb-bin-debug, mongosh-bin, mongosh-bin-debug

# GUI
yay mongodb-compass

# tools
yay mongodb-tools

# service
sc-status mongodb.service