« Mongodb » : différence entre les versions
Apparence
Ligne 4 : | Ligne 4 : | ||
<kode lang='json'> | <kode lang='json'> | ||
var mydoc = { | var mydoc = { | ||
// field _id is a primary key | |||
_id: ObjectId("5099803df3f4948bd2f98391"), | _id: ObjectId("5099803df3f4948bd2f98391"), | ||
// name holds an embedded document that contains the fields first and last | |||
name: { first: "Alan", last: "Turing" }, | name: { first: "Alan", last: "Turing" }, | ||
birth: new Date('Jun 23, 1912'), | birth: new Date('Jun 23, 1912'), |
Version du 18 février 2024 à 15:41
Description
MongoDB stores data records as BSON documents. BSON is a binary representation of JSON documents.
MongoDB documents are composed of field-and-value pairs. The value of a field can be any of the BSON data types.
var mydoc = {
// field _id is a primary key
_id: ObjectId("5099803df3f4948bd2f98391"),
// name holds an embedded document that contains the fields first and last
name: { first: "Alan", last: "Turing" },
birth: new Date('Jun 23, 1912'),
death: new Date('Jun 07, 1954'),
contribs: [ "Turing machine", "Turing test", "Turingery" ],
views : NumberLong(1250000)
}
|
Connect and authenticate
# connect
mongosh mongodb://localhost:27017
# alias
mongosh
# connect and authenticate, use an environment variable to hide the password
mongosh "mongodb://user:${DBPASSWORD}@<host>:<port>/admin?authSource=admin"
|
Authenticate
db.auth("username", "pwd") db.auth("username", passwordPrompt()) |
Database
// list the databases show dbs // drop the current database db.dropDatabase() |
Backup and restore
# 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
// 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
mongo <<EOF
use admin
db.auth("admin", "${MONGODBADMINPWD}")
use mydb
db.dropDatabase()
EOF
|
Compass
Installation
Windows
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\ |
- Install the Database Tools in C:\Program Files\MongoDB\Tools
Archlinux
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
|