mongodb 基本操作命令

-z#启动等命令
"""
sudo service mongod|mongodb start
sudo service mongod|mongodb stop
sudo service mongod|mongodb restart
"""

设置配置文件

"""
mongod.conf
可以设置数据的存储路径|设置log日志的存储路径|设置端口号
|设置ip|开启权限....
"""

启动mongo客户端:

"""
mongo
"""

关于数据库的基本命令

查看当前所在数据库
db

查看所有的数据库
show dbs

切换和常见数据库
use dbname

删除数据库(要删除哪个就先切换到哪个数据库下)
db.dropDatabase()

查看数据库的信息
db.stats()

创建结合

非固定大小的集合
db.createCollection('集合名称')

固定大小的集合(当集合存满时,新的数据会覆盖之前的数据)
db.createCollection(
'集合名称',
{
capped:true,
size:指定集合的大小(单位是字节)
max:指定集合中能存储的最大文档的数量
}
)
size的优先级更高

查看集合
show collections

删除集合
db.集合名称.drop()

关于增删改查的操作

插入数据(单条)
db.集合名称.insert({'key':'value'})

插入数据(多条)
db.集合名称.insert(
[
{'key':'value'},
{'key':'value'}
]
)

插入数据时如果没有指定_id会帮您自动是生成一个,
也可以自己指定,_id是一个主键也是一个索引

更新数据

update

全文档更新(由一个新的文档替换之前的文档,_id不变)
db.集合名称.update(
{'key':'value'} 查询条件
{'newkey':'newvalue'} 新的文档
{
upsert:默认情况下为false,要更新的文档不存在,不会插入一条新数据,
为true则相反
multi:默认为false,只跟新查找到的第一条,为true表示更新所有
}
)

局部更新
db.集合名称.update(
{'key': 'value'} 查询条件
{
$set:{'key':'newValue'}
}
)

save:会根据_id这个字段去集合下查找,如果_id存在,
则进行全文档更新,如果_id不存在,则插入一条新数据
db.集合名称.save(
{_id:'','key':'value',....}
)

格式化输出

db.集合名称.find().pretty()

删除数据

删除多条
db.集合名称.remove(
{'key':'value'} 条件
)

删除单条
db.集合名称.remove(
{'key':'value'}, 条件
1 表示的不是数量,表示的是ture
)

查询

db.集合名称.find() 查询所有
db.集合名称.find(
{'key':'value'} 条件
)
db.集合名称.findOne(
{'key':'value'} 条件
)

比较运算符

等于

小于$lt

小于等于$lte

大于$gt

大于等于$gte

不等于$ne

db.集合名称.find(
{'times':{$gte:100}}
)

多条件查询
db.集合名称.find(
{
'times':{$gt:100},
'actors':'李连杰',
}
)

逻辑或or db.movie.find( {or:
[
{times:{$gt:100}},
{'actors':'李连杰'}
]
}
)

逻辑或or和and同时使用 db.movie.find( {or:
[
{'times':{$gt:100}},
{'actors':'李连杰'}
],
'title':'少林寺'
}
)

范围运算符

in:在..范围nin:不在...范围

db.movie.find(
{
times:{$in:[100,120]}
}
)

使用正则查询

db.集合名称.find(
{
'key':/^正则表达式/
}
)

db.集合名称.find(
{
'key':{$regex:'正则表达式'}
}
)

$type:只返回符合数据类型的文档

db.集合名称.find(
{
'key':{$type:'数据类型'}
}
)

limit:限制返回

skip:跳过指点的条数

db.集合名称.find().limit(num).skip(num)
注意:limit和skip先后顺序不影响结果

sort:进行排序 1:升序 -1:降序

db.集合名称.find().sort({'key':方向(1 or -1),'key2':方向(1 or -1)})

distinct:实现去重

db.集合名称.distinct(
'去重字段',
{'条件'}
)

project(投影):可以选择查询结果中,数据的展示和隐藏

0表示隐藏,1显示

db.集合名称.find(
{'条件'},
{'key':1}
)

假如再设置要显示的字段时,第一个字段设置为1,只展示

这一个其他都不展示,反之,只隐藏当前设置的字段,其他的字段

都会展示粗来

count:统计文档的个数

db.集合名称.count(
{条件}
)

db.集合名称.find({条件}).count()

mongodb中的聚合操作,主要是处理数据(求和,平均值),

将处理后的数据返回

"""
$group:将集合中的文档分组,可用于统计结果。

$project:修改输入文档的结构。可以用来重命名、增加或
删除域,也可以用于创建计算结果以及嵌套文档。

match:用于过滤数据,只输出符合条件的文档。match使
用MongoDB的标准查询操作。

$limit:用来限制MongoDB聚合管道返回的文档数。

$skip:在聚合管道中跳过指定数量的文档,并返回余下的文
档。

$unwind:将文档中的某一个数组类型字段拆分成多条,每条
包含数组中的一个值。

$sort:将输入文档排序后输出。
"""

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,898评论 2 89
  • MongoDB数据类型 MongoDB创建/删除数据库 use DATABASE_NAME 如果数据库不存在,创...
    原来是仙女阿阅读 398评论 0 1
  • 一、MongoDB简介 1.概述 ​ MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WE...
    郑元吉阅读 974评论 0 2
  • NoSql数据库优缺点 在优势方面主要体现在下面几点: 简单的扩展 快速的读写 低廉的成本 灵活的数据模型 在不足...
    dreamer_lk阅读 2,705评论 0 6
  • 今天应该是大学四年在图书馆呆的最久的一次了,从早上八点到晚上十点,只有吃午饭离开了1个小时左右,大概高强度学习了1...
    BetterBlue阅读 148评论 0 0