维护人:陈权

一.mongodb install on linux
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
mv mongodb-linux-x86_64-3.0.6.tgz /usr/local/mongodb
tar -xvf mongodb-linux-x86_64-3.0.6.tgz

mkdir -p /usr/local/mongodb
mkdir -p /usr/local/mogodb/data&& mkdir -p /usr/local/mongodb/logs
用于存放mongo安装文件以及数据db存放,log 提供日志以及mongo配置
配置mongo
touch mongo/logs/mongo.conf
vi mongo.conf
添加配置项:
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/logs
logappend=true
journal=true
quite=true
port=9997
配置环境变量:
vi /etc/profile
export PATH=<mongodb-install-directory>/bin:$PATH #<mongodb-install-directory>/bin 为mongo bin目录
source /etc/profile

启动mongo:
cd <mongodb-install-directory>/bin
./mongod
操作mongo shell :
cd <mongodb-install-directory>/bin
./mongo
快速开始:
show dbs

创建或查看数据库
use mydb

创建集合
db.createCollection(name, options)
show collections 或者 show tables#查看集合

删除集合
db.mycollection.drop()
删除数据库
use mydb
db.dropDatabase()

插入数据:
db.mycollection.insert({title: ‘MongoDB 教程’,
description: ‘MongoDB 是一个 Nosql 数据库’,
by: ‘admin’,
url: ‘http://www.webank.com‘,
tags: [‘mongodb’, ‘database’, ‘NoSQL’],
likes: 11
})

格式化查询集合:
db.mycollection.find().pretty()
等价于sql select * from mycollection ;

更新数据集合:
db.mycollections.update({age:77},{$set: {name:”lisi”}},false,true)
等价于 update mycollections set name=”lisi” where age=77;
删除操作:
db.mycollection.remove({age:17})
等价于delete from mycollection where age=17 ;

查询前十条:
db.mycol.find().limit(10)
查询五到十
db.mycol.find().limit(10).skip(5)
排序:
db.mycol.find().sort({id:1}) #1 代表asc -1 为desc

模糊查询:
db.mycol.find({id:/job/})
等价于 select * from mycol where id like %job%;

精确查询:
db.mycol.find({age:11})
等价于 select * from mycol where age=17 ;
指定列查询:
db.mycol.find({},{age:1,id:1})
select id,name from mycol ;
且查询:
db.mycol.find({key1:value1, key2:value2}).pretty()
区间查询:
如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:

操作 格式 范例 RDBMS中的类似语句
等于 {<key>:<value>} db.col.find({“by”:”99”}).pretty() where by = ‘99’
小于 {<key>:{$lt:<value>}} db.col.find({“likes”:{$lt:50}}).pretty() where likes < 50
小于或等于 {<key>:{$lte:<value>}} db.col.find({“likes”:{$lte:50}}).pretty() where likes <= 50
大于 {<key>:{$gt:<value>}} db.col.find({“likes”:{$gt:50}}).pretty() where likes > 50
大于或等于 {<key>:{$gte:<value>}} db.col.find({“likes”:{$gte:50}}).pretty() where likes >= 50
不等于 {<key>:{$ne:<value>}} db.col.find({“likes”:{$ne:50}}).pretty() where likes != 50

or 查询:
MongoDB OR 条件语句使用了关键字 $or,语法格式如下:

db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()

等价于: select * from col where key1=value1 or key2=value2;

聚合函数:
aggregate() 方法的基本语法格式如下所示:

db.COLLECTION_NAME.aggregate()

db.mycol.aggregate([{$group : {_id : “$user”, num_tutorial : {$sum : 1}}}])
等价于: select count(*) from mycol group by user;

下表展示了一些聚合的表达式:

表达式 描述 实例
$sum 计算总和。 db.mycol.aggregate([{$group : {_id : “$by_user”, num_tutorial : {$sum : “$likes”}}}])
$avg 计算平均值 db.mycol.aggregate([{$group : {_id : “$by_user”, num_tutorial : {$avg : “$likes”}}}])
$min 获取集合中所有文档对应值得最小值。 db.mycol.aggregate([{$group : {_id : “$by_user”, num_tutorial : {$min : “$likes”}}}])
$max 获取集合中所有文档对应值得最大值。 db.mycol.aggregate([{$group : {_id : “$by_user”, num_tutorial : {$max : “$likes”}}}])
$push 在结果文档中插入值到一个数组中。 db.mycol.aggregate([{$group : {_id : “$by_user”, url : {$push: “$url”}}}])
$addToSet 在结果文档中插入值到一个数组中,但不创建副本。 db.mycol.aggregate([{$group : {_id : “$by_user”, url : {$addToSet : “$url”}}}])
$first 根据资源文档的排序获取第一个文档数据。 db.mycol.aggregate([{$group : {_id : “$by_user”, first_url : {$first : “$url”}}}])
$last 根据资源文档的排序获取最后一个文档数据 db.mycol.aggregate([{$group : {_id : “$by_user”, last_url : {$last : “$url”}}}])

mongodb 用户指引的更多相关文章

  1. MongoDB用户

    MongoDB  增加用户 删除用户  修改用户  读写权限 只读权限,   MongoDB用户权限分配的操作是针对某个库来说的.--这句话很重要.   1. 进入ljc 数据库:       use ...

  2. MONGODB用户、角色和权限管理

      最近遇到很多问MONGODB用户认证授权方面的问题,现在特记录下来,与大家共享. 一.概念理解 1.用户概念 Mongodb的用户是由 用户名+所属库名组成 例如: 登录mongo  testdb ...

  3. 浅析MongoDB用户管理

    浅析MongoDB用户管理 http://www.jb51.net/article/53830.htm mongodb3.03开启认证 http://21jhf.iteye.com/blog/2216 ...

  4. MongoDB和Java(7):MongoDB用户管理

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  5. MongoDB用户权限管理配置

    MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...

  6. MongoDB 用户配置

    ====[安装]====DOS下切换到文件所在盘符 例如 D:\MongoDB\bin设置数据库保存位置 mongod.exe --dbpath D:\MongoDB\Data [--auth]//用 ...

  7. mongodb用户授权

    1)登录admin 数据库,admin是隐藏的数据库,为mongodb的超级管理员数据表mongo admin新建用户db.createUser({'user':'test','pwd':'12345 ...

  8. MongoDB用户权限管理

    创建用户账号: (roles参数指定了用户的角色以及这个账号授权的数据库,在同一个数据库中不能同时创建两个用户名相同的账号) Mongodb内置的用户角色: 数据库用户角色:read.readWrit ...

  9. MongoDB用户权限认证

    关于用户的认证及权限 用户是跟着库创建的,在哪个库创建的什么权限的什么用户,只对此库有相应权限(除超级管理员以外). 官网文档:https://docs.mongodb.com/master/refe ...

随机推荐

  1. 零Web知识个性化Blog

    需要使用到的工具 Chrome Pycharm 自定主题的CSS 申请博客的Js权限 设置博客选项 打开Chrome修改查看CSS样式,Windows(F12),MacOS(Command+Optio ...

  2. 第五十篇 入门机器学习——线性回归(Linear Regression)

    No.1. 线性回归算法的特点 No.2. 分类问题与回归问题的区别 上图中,左侧为分类问题,右侧为回归问题.左侧图中,横轴和纵轴表示的都是样本的特征,用不同的颜色来作为输出标记,表示不同的种类:左侧 ...

  3. 第四十四篇 入门机器学习——matplotlib基础——实现数据可视化

    No.1. 绘制一条正弦曲线 No.2. 在一张图中绘制多条曲线 No.3. 可以为曲线指定颜色.线条样式 No.4. 可以指定横纵坐标轴的范围 也可以使用: No.6. 可以为每条曲线添加图示 No ...

  4. MySQL学习(九)小结

    redo-log 和 bin-log 是如何联系起来的? update 语句在更新的时候先更新内存后,写 redo-log 然后 bin-log ,其中后面一步是使用了两阶段提交, 也就是每一个更新都 ...

  5. JS table新增一行的时候 如何在新增的这一行把样式也加进去 例如变成<tr class="trd0">

      JS table新增一行的时候 如何在新增的这一行把样式也加进去 例如变成<tr class="trd0">5 JS: var tab = document.get ...

  6. NW.js构建桌面应用

    最近要做个桌面的应用,用起来也方便.找了一圈发现NW.js挺容易上手,分享给大家. NW.js 官网https://nwjs.io/ 1.下载适合当前版本的js [这里下载的SDK版本,方便后续调试] ...

  7. c++基础语法规则

    1,c++存储类:定义函数或者变量的生命周期     auto 关键字用于两种情况:声明变量时根据初始化表达式自动推断该变量的类型.声明函数时函数返回值的占位符. register 存储类用于定义存储 ...

  8. [Java] 多线程基础详细总结,附加详细实例

    详细代码在文章底部 目录 基础概念 进程与线程 单线程与多线程 实现线程的4中方式 thread.start()和runnable.run()的区别 Thread和Runnable的异同 线程的基本操 ...

  9. Ubuntu16.04安装TORCS

    下载torch安装包: git clone https://github.com/torch/distro.git torch --recursive 安装依赖库: cd torch/ sudo ba ...

  10. C#中对虚拟属性和抽象属性的重写有什么异同

           public abstract class A         {             //抽象属性不能有实现代码             public abstract strin ...