【二】MongoDB入门

下面是mongodb的一些基本概念:

  • 文档是MongoDB中数据的基本单元,类似关系数据库中的行。
  • 集合,是存储文档的容器,类似关系数据库中的表。
  • MongoDB的单个实例容纳多个数据库,每个数据库都有自己的集合和权限。
  • 每一个文档都有一个特殊的“_id”,它在文档所处的集合中是唯一的。

为了易于理解,咱们把MongoDB中的概念与关系数据库对比一下:

 一、文档

文档是mongodb的核心概念。多个键值有序的放置在一起便是文档。简单的例子:

1   {"greeting":"Hello World","foo":15}
2   {"foo":15,"greeting":"Hello World"}
3   {"foo":15}
4   {"Foo":15}5   {"Foo":"15"}                         
  • 键名:不能含有空格及特殊字符‘$‘和‘.‘,同时以下划线开头的键是保留的
  • 键名区分大小写,如上述的3和4是不同的文档
  • 文档中键名不能重复
  • 文档区别类型,如上述的4和5,值的类型不一样所以属于不同的文档
  • 键的值不仅是字符串还可以是其他类型

二、集合

集合就是一组文档,如果说文档如关系数据库中的行,那么集合就如同表。集合有如下特点:

1、无模式

集合是无模式的,这意味着集合里可以存储各种各样的文档。那么是不是mongodb中只需要一个集合就可以了呢?答案是否,下面是一些理由:

  • 易于管理:如果各种各样的文档都放到一个集合中,那么对于开发者或管理员都是噩梦。
  • 提高效率:在一个集合中查不同类型的文档,速度上肯定不如各个单独类型的集合快。
  • 提高索引效率

2、命名

我们可以名字来标识集合,下面是一些约束:

  • 不能为空字符串,如""
  • 不能含有空格
  • 不能以system.开头,这是系统保留前缀
  • 不能含有特殊字符,如$

组织集合的一种常用惯例是按命名空间划分子集合,比如开发一个博客

三、数据库

数据库包括多个集合,一个实例中包括多个数据库,一般一个应用对应一个数据库。数据库的命名规则:

  • 不能是空字符串
  • 不能包括空格等特殊字符
  • 应该全部小写
  • 不能使用系统预留的,如admin,local,config

关于数据库的相关操作:

#查看当前数据库
> db
test
#切换当前数据库
> use local
switched to db local
> db
local

获得帮助:

> help
    db.help()                    help on db methods
    db.mycoll.help()             help on collection methods
    sh.help()                    sharding helpers
    rs.help()                    replica set helpers
    help admin                   administrative help
    help connect                 connecting to a db help
    help keys                    key shortcuts
    help misc                    misc things to know
    help mr                      mapreduce

    show dbs                     show database names
    show collections             show collections in current database
    show users                   show users in current database
    show profile                 show most recent system.profile entries with time >= 1ms
    show logs                    show the accessible logger names
    show log [name]              prints out the last segment of log in memory, ‘global‘ is default
    use <db_name>                set current database
    db.foo.find()                list objects in collection foo
    db.foo.find( { a : 1 } )     list objects in foo where a == 1
    it                           result of the last line evaluated; use to further iterate
    DBQuery.shellBatchSize = x   set default number of items to display on shell
    exit                         quit the mongo shell
> 

时间: 2024-12-28 23:02:10

【二】MongoDB入门的相关文章

MongoDB入门学习(二):MongoDB的基本概念和数据类型

上一篇讲了MongoDB的安装和管理,其中涉及到了一些概念,数据结构还有一些API的调用,不知道的没关系,其实很简单,这篇会简单介绍一下. 1.文档 文档是MongoDB的核心概念,多个键值对有序的放在一起就是一个文档,文档是MongoDB存储数据最基本的数据结构.对MongoDB都是以文档的形式来操作的,使用了一种类似JSON的二进制BSON数据格式,对API的调用都是传的文档参数.每种编程语言都有标示文档的数据结构,比如java的map,lua的table,python的dict等等,但是都

mongodb入门命令-创建表数据(二)

1.mongodb入门命令 1.1 show databases; 或 show dbs; //查看当前的数据库 > show dbs; admin 0.000GB config 0.000GB local 0.000GB 1.2 use databaseName  选择库 show tables/collections 查看当前库下的collections 1.3 如何创建库 mongodb 的库是隐式创建,你可以use一个不存在的库 然后在该库下创建collection,即可创建库 1.4 

MongoDB入门必读(概念与实战并重)

MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝

MongoDB入门学习(三):MongoDB的增删查改

对于我们这种菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 因为MongoDB存储数据都是以文档的模式,所以在操作它的数据时,也是以文档为单位的.那么我们实现增删查改也是以文档为基础,不知道文档是什么的同学可以看看上篇介绍的基本概念. 1.插入文档 向MongoDB集合中插入文档的基本方法是insert: 单个插入 > document = {key : value} > db.collecti

MongoDB入门学习(四):MongoDB的索引

上一篇讲到了MongoDB的基本操作增删查改,对于查询来说,必须按照我们的查询要求去集合中,并将查找到的结果返回,在这个过程中其实是对整个集合中每个文档进行了扫描,如果满足我们的要求就添加到结果集中最后返回.对于小集合来说,这个过程没什么,但是集合中数据很大的时候,进行表扫描是一个非常恐怖的事情,于是有了索引一说,索引是用来加速查询的,相当于书籍的目录,有了目录可以很精准的定位要查找内容的位置,从而减少无谓的查找. 1.索引的类型 创建索引可以是在单个字段上,也可以是在多个字段上,这个根据自己的

MongoDB 入门之基础 DCL

此文章主要记录部分主要的 MongoDB 的 DCL 操作. MongoDB 默认不需要用户名和密码就可以用 mongodb.exe 登录 一.开启 MonogoDB 的权限模式 修改 MongoDB 服务的注册语句,修改加入 --auth 参数,详情见MongoDB 入门之安装篇 "$MONGODB_HOME\bin\mongod.exe" --config "$MONGODB_HOME\mongo.cfg" --install --auth C:\Windows

XML学习总结(二)——XML入门

一.XML语法学习 学习XML语法的目的就是编写XML 一个XML文件分为如下几部分内容: 文档声明 元素 属性 注释 CDATA区 .特殊字符 处理指令(processing instruction) 1.1.xml语法——文档声明 在编写XML文档时,需要先使用文档声明,声明XML文档的类型. 最简单的声明语法: <?xml version="1.0" ?> 例如: 1 <?xml version="1.0"?> 2 <softCo

mongo db 学习笔记 之二: mongodb 用户认证

首先要知道mongodb默认安装后是没有任何认证开启的,也就是说,所有能连接到服务器的人都能进数据查看,当然,你可以用防火墙来挡.但没有防火墙的保护,数据库暴露出来是非常危险的. mongodb关于安全分为几个方面,主要是:认证,基于角色的访问控制(授权),审计,加密,部署和环境的安全(涉及到网络跟系统的访问环境). 一 关于认证 使用用户名认证指令为: mongo --port 27017 -u manager -p 12345678 --authenticationDatabase admi

Redis 二:入门基本篇

1.多数据库设置 select 0 - 15 ,代表16个数据库 2.glob风格通配符 set bar 1 set btt 2 keys * 返回所有 keys ba? 返回 bar keys b[a-z][a-z] 返回btt bar \x 匹配转义字符 3.判断一个键是否存在 exists bar ,存在返回1否则返回0 4.删除键 del bar 删除成功返回1,否则返回0 5.获得键值的数据类型 set b "100" type a 返回string Redis 二:入门基本

Ruby2.3.3操作MongoDB入门(Mongo驱动版本2.4.3)-先期准备&数据库连接创建

最近在学习MongoDB的相应知识,涉及到使用Ruby操作MongoDB数据库,因为参考数据中使用的Ruby Mongo驱动版本不是2.3.3,所以在操作方面会有所不同,因此撰写了这篇Ruby2.3.3操作MongoDB入门,学习方式是参考网址https://docs.mongodb.com/ruby-driver/v2.3/quick-start/ 快速学习主要分为以下几个部分: 先期准备 1.1 本地启动MongoDB数据库,端口号27017 Windows环境下启动方式如下:首先CMD命令