下面是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
>

【二】MongoDB入门的更多相关文章

  1. mongodb入门教程二

    title: mongodb入门教程二 date: 2016-04-07 10:33:02 tags: --- 上一篇文章说了mongodb最基本的东西,这边博文就在深入一点,说一下mongo的一些高 ...

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

    1.mongodb入门命令 1.1 show databases; 或 show dbs; //查看当前的数据库 > show dbs; admin 0.000GB config 0.000GB ...

  3. MongoDB 入门之基础 DCL

    此文章主要记录部分主要的 MongoDB 的 DCL 操作. MongoDB 默认不需要用户名和密码就可以用 mongodb.exe 登录 一.开启 MonogoDB 的权限模式 修改 MongoDB ...

  4. mongodb入门教程

    title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...

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

    MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个 ...

  6. mongodb入门篇

    MongoDB 入门篇 分类: NoSQL, 故障解决 undefined 1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据? 数据(英语:data) ...

  7. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  8. MongoDB入门三:MongoDB shell

    MongoDB shell MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序.也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作.类似于 ...

  9. MongoDB 入门之查询(find)

    MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...

  10. MongoDB入门简介

    MongoDB入门简介 http://blog.csdn.net/lolinzhang/article/details/4353699 有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大 ...

随机推荐

  1. .net 定时服务

    namespace MvcApplication1 { public class MvcApplication : System.Web.HttpApplication { protected voi ...

  2. asp.net core mvc视频A:笔记3-2.表单使用

    页面上呈现表单的两种方式 新建项目,增加Test控制器,增加Index视图 方式一:HTML构建表单 运行 方式二:HTML 运行 数据绑定 处理方法 调用结果 登录后返回值 默认值绑定 方式一: 控 ...

  3. CSS实现绝对定位居中

    我们经常用margin:0 auto来实现水平居中,而一直认为margin:auto不能实现垂直居中……实际上,实现垂直居中仅需要声明元素高度和下面的CSS: .Absolute-Center { m ...

  4. centos自动安装镜像脚本

    #!/bin/bash ######################################################################################## ...

  5. sublime livereload插件

    1.首先在chrome商店下载livereload 安装之后记得在 chrome 的 扩展程序 里面 勾上 允许访问文件地址 2.sublime text 3 中下载插件 Livereload 3.配 ...

  6. PHP设置会话(Session)超时过期时间实现登录时间限制

    最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考. 第一种方法即设置php.ini配置文件,设置session.gc_ ...

  7. userService 用户 会员 系统设计 v2 q224 .doc

    userService 用户 会员 系统设计 v2 q224 .doc 1. Admin  login1 2. 普通用户注册登录2 2.1. <!-- 会员退出登录 -->2 2.2. & ...

  8. [译]GLUT教程 - 初始化

    Lighthouse3d.com >> GLUT Tutorial >> Basics >> Initialization 这一节开始从main函数入手.第一步是线 ...

  9. 华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!

    华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps.超级慢动作等华为媒体开放能力,在加持这些能力后,抖音 ...

  10. 使用ffmpeg下载m3u8流媒体

    安装 编译好的windows可用版本的下载地址(官网中可以连接到这个网站,和官方网站保持同步): http://ffmpeg.zeranoe.com/builds/ 或者: 百度网盘https://p ...