MongoDB笔记

MongoDB

MongoDB是基于分布式文件存储的数据库,其数据存储是用BSON(JSON的二进制形式),其表现为键值对的形式。


image.png

MongoDB与MySQL的比对

MySQL MongoDB
table(表格) collection(集合) 说明
view(视图) view(视图) 都支持
record(记录) document(文档) 概念类似
column(行) filed(域) 这里的域是你自己增加数据时增加的
index(索引) index(索引) 都支持
table joins(连结) 不支持
primary key(主键) primary key(主键) MongoDB会为每一个没有主键(_id域)的document添加一个_id域

数据类型

之前说到MongoDB是以BSON存储的,BSON的每种格式都有一个数字,如下表

类型 数字 别名
32-bit integer 16 "int"
64-bit integer 18 "long"
Double 1 "double"
String 2 "string"
Bealoon 8 "bool"
Object 3 "object"
Array 4 "array"
Binary data 5 "binData"
ObjectId 7 "objectId"
Date 9 "date"
Regular Expression 11 "regex"
Null 10 "null"

服务启动

sudo mongod --fork -f ./mongod.conf 

连接与退出

由于个人用的客户端是mongodbsh,连接的话其默认输入的是一个url就行了(账号密码放前面),协议用mongodb,主机名可以指定,默认端口是27017。退出则用exit命令。

# 连接
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
# 退出
> exit

用户级操作

这个单独抽出来,之后写一篇文章

Database级操作

# 展示所有database
> show dbs
# 切换数据库
> use database_name
# 创建数据库(这个切换数据库后,然后创建新的数据就是创建数据库)
# 删除数据库
> db.dropDatabase()
# 修改数据库名
> db.copyDatabase('old_name', 'new_name'); 
> use old_name
> db.dropDatabase();
# 查看当前数据库(其实箭头前就是用的数据库)
> db
# 查看数据库可用的函数(其实这个里面可以查看db级别的所有函数,超好用)
> db.help()

Collection级别操作(默认创建document的时候会创建collection)

# 显示所有集合
> show collections
# 增加集合
> db.createCollection("collection_name")
# 删除集合
> db.collection_name.drop()
# 修改集合名
> db.renameCollection("new_name")

文档级别操作

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

推荐阅读更多精彩内容

  • MongoDB是一个开源、高性能、无模式的文档型数据库,是NoSQL产品中的一种。 MongoDB中记录的是一个文...
    dev_winner阅读 288评论 0 1
  • 基本介绍 什么是NoSQL数据库 NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL...
    我就是小政政阅读 2,127评论 0 11
  • 1 MongoDB中的基本概念及原理 1.1 MongoDB介绍 官网地址:https://www.mongodb...
    MiniSoulBigBang阅读 528评论 0 0
  • [TOC]未完更新中... 1. MongoDB安装及配置 官网下载地址 安装msc文件,现在3.4的版本,有了m...
    BigJeffWang阅读 2,248评论 0 49
  • MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源非关系数据库系统(NoSQL)...
    苟且_7c59阅读 252评论 0 0