MongoDB 使用手冊

運行 MongoDB
> mongd --dbpath f:/data/db
登陸 MongoDB
> mongo
進入或建立數據庫,若是不存在則建立
> use test
使用用戶名密碼受權
> db.auth('test','test')
建立用戶,只對指定的數據庫有效,好比如下例子只對 test 有效,roles 能夠傳一個空數組
> use test  
> db.createUser( { "user" : "test",
     "pwd": "test",
     "customData" : { employeeId: 12345 },
     "roles" : [ 
            { role: "clusterAdmin", db: "admin" },
            { role: "readAnyDatabase", db: "admin" } 
        ] 
} )

db.createUser( { "user" : "sheng",
    "pwd": "sheng",
    "roles" : [
        { role: "dbAdmin", db: "snailloveMusic" },
        { role: "readWrite", db: "snailloveMusic" }
    ]
} )

Built-In Roles(內置角色):sql

  1. 數據庫用戶角色:read、readWrite;
  2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 備份恢復角色:backup、restore;
  5. 全部數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超級用戶角色:root
    // 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 內部角色:__system
    PS:關於每一個角色所擁有的操做權限能夠點擊上面的內置角色連接查看詳情。
查看數據庫和集合
> show dbs

> show collections
經常使用操做,以 collection 爲 users 示例

建立、插入、更新、索引、刪除操做:mongodb

> db.createCollection("users")

> db.users.insert( {
        user_id: "abc123",
        age: 55,
        status: "A"
    } )
 
> db.users.update(
        { },
        { $set: { join_date: new Date() } },
        { multi: true }
    )

> db.users.update(
       { age: { $gt: 25 } },
       { $set: { status: "C" } },
       { multi: true }
    )

> db.users.update(
       { status: "A" } ,
       { $inc: { age: 3 } },
       { multi: true }
    )
    
> db.users.remove( { status: "D" } )

> db.users.remove({})

> db.users.createIndex( { user_id: 1 } )

> db.users.createIndex( { user_id: 1, age: -1 } )

> db.users.drop()

查詢操做,能夠使用小於、大於、不等於、正則匹配等shell

> db.users.find()

> db.users.find(
        { },
        { user_id: 1, status: 1 }
    )
    
> db.users.find(
        { status: { $ne: "A" } }
    )
    
> db.users.find(
        { $or: [ { status: "A" } ,
                 { age: 50 } ] }
    )

> db.users.find(
        { age: { $gt: 25 } }
    )
    
> db.users.find(
       { age: { $lt: 25 } }
    )
    
> db.users.find(
       { age: { $gt: 25, $lte: 50 } }
    )
    
> db.users.find( { user_id: /^bc/ } )

> db.users.count( { user_id: { $exists: true } } )

> db.users.find( { user_id: { $exists: true } } ).count()

> db.users.distinct( "status" )

> db.users.findOne()

> db.users.find().limit(1)

> db.users.find().limit(5).skip(10)

>

官方 doc: https://docs.mongodb.com/manu...數據庫

相關文章
相關標籤/搜索