资讯专栏INFORMATION COLUMN

MongoDB 使用手册

Eric / 1337人阅读

摘要:查看数据库和集合常用操作,以为示例创建插入更新索引删除操作查询操作,可以使用小于大于不等于正则匹配等官方

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19113.html

相关文章

  • 我的全栈工程工程师之旅(三)----express的使用MongoDB

    摘要:的安装需先安装验证是否安装成功,关于的内核原理略过创建一个应用路由重点一切都是异步方式,不要用传统的编写思维来写。没有行和列概念。 1、express的安装 $ npm install -g express-generator #需先安装express-generator $ npm install -g express $ express -V #验证是否安装成功 `, 关于expr...

    zhichangterry 评论0 收藏0
  • 我的全栈工程工程师之旅(三)----express的使用MongoDB

    摘要:的安装需先安装验证是否安装成功,关于的内核原理略过创建一个应用路由重点一切都是异步方式,不要用传统的编写思维来写。没有行和列概念。 1、express的安装 $ npm install -g express-generator #需先安装express-generator $ npm install -g express $ express -V #验证是否安装成功 `, 关于expr...

    BakerJ 评论0 收藏0
  • 升级PHP7操作MongoDB

    摘要:在及以前,官方提供了两个扩展,和,其中是对以等几个核心类为基础的类群进行操作,封装得很方便,所以基本上都会选择扩展。这种想法很违背简化操作带来的语法问题而专注逻辑优化的思路。 前言 使用 PHP+MongoDB 的用户很多,因为 MongoDB 对非结构化数据的存储很方便。在 PHP5 及以前,官方提供了两个扩展,Mongo 和 MongoDB,其中 Mongo 是对以 MongoCl...

    hizengzeng 评论0 收藏0
  • 升级PHP7操作MongoDB

    摘要:在及以前,官方提供了两个扩展,和,其中是对以等几个核心类为基础的类群进行操作,封装得很方便,所以基本上都会选择扩展。这种想法很违背简化操作带来的语法问题而专注逻辑优化的思路。 前言 使用 PHP+MongoDB 的用户很多,因为 MongoDB 对非结构化数据的存储很方便。在 PHP5 及以前,官方提供了两个扩展,Mongo 和 MongoDB,其中 Mongo 是对以 MongoCl...

    zlyBear 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<