当前位置: 首页 > news >正文

mongodb 基础操作(一)

为什么80%的码农都做不了架构师?>>>   hot3.png

基本概念

MongoDB 介绍

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

特点:

高性能、易部署、易使用,存储数据非常方便。

主要特性:

1 面向集合存储 2易存储对象类型的数据     3 模式自由      4 支持动态查询    5 支持完全索引,包含内部对象    6 支持查询     7支持复制和故障恢复    9 使用高效的二进制数据存储,包括大型对象(如视频等)

10 自动处理碎片,以支持云计算层次的扩展性    11 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言    12 文件存储格式为BSON(一种JSON的扩展)    13 可通过网络访问

使用原理

所谓“面向集合”(Collenction-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。

模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary JSON)。如下图所示


collection 集合就相当于RDBMS中的表

document 文档就相当于RDBMS的表中记录

更多的SQL to MongoDB 映射关系图,让你 更快掌握MongoDB 各种概念

http://docs.mongodb.org/manual/reference/sql-comparison/


BSON支持数据类型:


Type Number Notes
Double 1  
String 2  
Object 3  
Array 4  
Binary data 5  
Undefined 6 Deprecated.
Object id 7  
Boolean 8  
Date 9  
Null 10  
Regular Expression 11  
JavaScript 13  
Symbol 14  
JavaScript (with scope) 15  
32-bit integer 16  
Timestamp 17  
64-bit integer 18  
Min key 255 Query with -1.
Max key 127  

基础操作

创建数据库

    use dbname  #即可创建数据库,这时mongodb并没有建立数据文件,在添加集合collection才会创建数据文件

删除数据库

    db.dropDatabase()    #即可删除数据库

1:更多db命令请使用db.help查看     这些命令都是很好记忆,都是对象.方法,非常喜欢这种命令
2:在linux 下你可以使用tab 键补全命令 

创建集合

db.createCollection("user")  #创建集合,名称为user,你也可以传入其它参数,可以参考http://docs.mongodb.org/manual/reference/method/db.createCollection/#db.createCollection

删除集合

db.collectionName.drop()


转载于:https://my.oschina.net/freax/blog/471361

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 进程和计划任务管理
  • 一个新的模块封装方法
  • Mac环境下svn的使用
  • AIX 减少缺省分页空间(hd6)的大小
  • [转]协议森林
  • Codeforces 451 B. Sort the Array
  • linux CPU占用率高(转)
  • upgrade your Active Directory from Windows 2003 to Server 2008
  • android控制文件:ViewPager+Fragment+GridView使用(与AndroidQuery框架结合)
  • [20150707]外部表与rowid.txt
  • 我的Java开发学习之旅------gt;Workspace in use or cannot be created, choose a different one.--错误解决办法...
  • C++的Json解析库:jsoncpp和boost
  • rednotebook
  • 关于线上的bug什么时候修复的思考
  • vi/vim编辑器
  • Google 是如何开发 Web 框架的
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 77. Combinations
  • Android开源项目规范总结
  • JavaScript HTML DOM
  • JavaScript类型识别
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • maven工程打包jar以及java jar命令的classpath使用
  • Swift 中的尾递归和蹦床
  • VuePress 静态网站生成
  • Vue组件定义
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 关于Flux,Vuex,Redux的思考
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 京东美团研发面经
  • 实现简单的正则表达式引擎
  • 问题之ssh中Host key verification failed的解决
  • 小李飞刀:SQL题目刷起来!
  • 一些css基础学习笔记
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • ​ssh免密码登录设置及问题总结
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • ### RabbitMQ五种工作模式:
  • #APPINVENTOR学习记录
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #stm32驱动外设模块总结w5500模块
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (三)elasticsearch 源码之启动流程分析
  • (三分钟)速览传统边缘检测算子
  • (十五)使用Nexus创建Maven私服
  • (已解决)什么是vue导航守卫
  • (转)Google的Objective-C编码规范
  • (转)编辑寄语:因为爱心,所以美丽
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)