Mongodb初探

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:
下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.3.tg
解压后修改名称
tar xvzf mongodb-linux-x86_64-rhel62-3.2.3.tg
mv mongodb-linux-x86_64-rhel62-3.2.3.tg mongodb
mv mongodb /usr/local/

mkdir /data/db


./mongod
#启动安全模式
#./mongod --auth >> mongodb.log & 
启动shell
./mongo

简单插入:
> db.test.insert({"name":"cctv","time":"1952"})
WriteResult({ "nInserted" : 1 })
查找
> db.test.find()
{ "_id" : ObjectId("56c812e8c3173d7c3942bf94"), "type" : "Fuck" }
{ "_id" : ObjectId("56c81e9a2b323f6d772f237b"), "name" : "cctv", "time" : "1952" }
更新 update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”
>db.test.update({"name":"cctv"},{"name":"China-CNTV"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
删除
remove中如果不带参数将删除所有数据,呵呵,很危险的操作,在mongodb中是一个不可撤回的操作,三思而后行
> db.test.remove({"name":"China-CNTV"})
WriteResult({ "nRemoved" : 2 })
> db.test.find()
{ "_id" : ObjectId("56c812e8c3173d7c3942bf94"), "type" : "Fuck" }
>



启用认证

mongod 启动默认没有开启权限,你需要指定 –auth 启动,或者在配置文件中设置security.authorization 为 “enabled”
创建用户

db.createUser(user, writeConcern)

    文档 http://docs.mongodb.org/manual/reference/method/db.createUser/#db.createUser

user格式

{ user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ]
}

writeConcern:

例如 {w: “majority”, j: true, wtimeout: 5000}

    w选项:允许的值分别是 1、0、大于1的值、”majority”、;
    j选项:确保mongod实例写数据到磁盘上的journal(日志),这可以确保mongd以外关闭不会丢失数据。设置true启用。
    wtimeout:指定一个时间限制,以毫秒为单位。wtimeout只适用于w值大于1。

Built-In Roles(内置角色):

    数据库用户角色:read、readWrite;
    数据库管理角色:dbAdmin、dbOwner、userAdmin;
    集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    备份恢复角色:backup、restore;
    所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    超级用户角色:root
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    内部角色:__system

creatUser例子

创建超级管理员

use admin
db.createUser({
    user:"username",
    pwd:"password",
    roles:["root"]
})

在products数据库创建accountAdmin01用户,拥有readWrite权限,对admin数据库拥有clusterAdmin跟readAnyDatabase权限

use products
db.createUser( { "user" : "accountAdmin01",
                 "pwd": "cleartext password",
                 "customData" : { employeeId: 12345 },
                 "roles" : [ { role: "clusterAdmin", db: "admin" },
                             { role: "readAnyDatabase", db: "admin" },
                             "readWrite"
                             ] },
               { w: "majority" , wtimeout: 5000 } )

登录

use collectionName
db.auth("username",'password")

查看用户

show users

删除用户

db.dropUser("username")

更改用户密码

db.changeUserPassword("username","password")

更新用户

db.createUser(user, writeConcern)




新建或者切换数据库
use dbname

切换到admin

use admin



      本文转自flyingzf  51CTO博客,原文链接:http://blog.51cto.com/flyingzf/1743678,如需转载请自行联系原作者





相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
NoSQL 安全 数据库连接
MongoDB 常见使用
MongoDB 常见使用
534 0
MongoDB 常见使用
|
5月前
|
NoSQL JavaScript MongoDB
MongoDB
【10月更文挑战第28天】
47 2
|
存储 NoSQL MongoDB
关于MongoDB
关于MongoDB
162 0
|
NoSQL Shell Linux
|
NoSQL 前端开发 MongoDB
MongoDB应用
初始化路由模板 数据库和前端页面交互 编写注册的后台接口 先连接数据库 和前台进行数据交互 文章的后台接口 先查询所有的文章内容 发文章 一些验证方法 邮箱验证 用户名随机生成
92 0
|
存储
MongoDB-片键选择技巧
使用分片的目的是为了将数据存储到不同的服务器上, 所以在选择片键的时候,应该选择取值范围更广的字段作为片键,因为如果取值范围太小, 那么划分出来的数据段就太少, 那么分配到不同服务器的概率就越小, 例如:取值如果只有 true 或 false, 那么就只能划分出两个数据段, 那么也就最多只能保存到两台服务器上。
105 0
|
JSON NoSQL MongoDB
初学mongoDB(一)
初学mongoDB
96 0
|
SQL JSON NoSQL
老去的MongoDB,未来在哪里?
老去的MongoDB,未来在哪里?
282 0
|
消息中间件 分布式计算 NoSQL
MongoDB适用场景
MongoDB适用场景
|
存储 SQL 分布式计算
MongoDB的介绍
MongoDB的介绍
102 0