外星人源码论坛 首页 编程经验 MongoDB 使用手册

MongoDB 使用手册

2018-3-5 06:48
原作者: 外星人源码网 来自: 外星人源码网 收藏 分享 邀请

运行 MongoDB > mongd --dbpath f:/data/db 登录 MongoDB > mongo 进入或创建数据库,如果不存在则创建 > use test 使用用户名密码授权 > db.auth('test','test') 创建用户,只对指定的数据库有效,比如以下例子只对 ...

运行 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(内置角色):

    数据库用户角色:read、readWrite; 数据库管理角色:dbAdmin、dbOwner、userAdmin; 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 备份恢复角色:backup、restore; 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 超级用户角色:root
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase) 内部角色:__system
    PS:关于每个角色所拥有的操作权限可以点击上面的内置角色链接查看详情。
查看数据库和集合
> show dbs

> show collections
常用操作,以 collection 为 users 示例

创建、插入、更新、索引、删除操作:

> 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()

查询操作,可以使用小于、大于、不等于、正则匹配等


> 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...


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

粉丝 阅读119 回复0
上一篇:
React的生命周期到底是怎么一回事?发布时间:2018-03-05
下一篇:
JS对象继承与原型链发布时间:2018-03-05
推荐资讯
阅读排行
国内最专业的源码技术交流社区
全国免费热线电话

0373-5171417

周一至周日9:00-23:00

反馈建议

admin@eenot.com 在线QQ咨询

扫描二维码关注我们