选择Mongo的关键是:这是一个 JSON 文档数据库。

1. Mongo 的术语

  • 文档:一条完整的数据就是一个文档(对应于 MySQL 的一行)。
  • 集合:一组文档构成一个集合。类似 MySQL 中表的地位,但不必要求这组文档的结构一致。
  • 数据库:与 MySQL 一样,mongo 也可以建立多个数据库。 用 use db_name 来切换。

db 和 collection 都是延时创建的。添加document时才会真正创建。

2. 安装与启动 Mongo

官网有详细说明。http://www.mongodb.org/downloads

启动 Mongo 前,需要先通过 Mongod 启动服务进程,然后通过另一个终端用 mongo 连接数据库。

注意点:

  1. 如果是 windows 下解压安装,解压目录不能包含空格。
  2. linux 下安装后,默认的 dbpath 是 /data/db,一般没有读写权限。无法启动 mongod。
  3. dbpath 默认需要10G 以上的存储空间。否则无法启动 mongod。

3. Mongo 配置

mongo 启动时,可以传入一组配置参数。

可以将这些参数写入文件中,比如 mongo.conf,然后通过 --config 参数指定配置文件,无需每次启动时输入配置参数。

4. MongoDB 注册为 Windows 服务

D:/mongodb/bin>mongod --logpath D:/mongodb/data/logs/mongodb.log --logappend --dbpath D:/mongodb/data/db --serviceName MongoDB --install

若显示 Service can be started from the command line via 'net start "MongoDB"' 表示服务创建成功。

windows 下可以通过 net start MongoDB 和 net stop MongoDB 来启动和停止 MongoDB

  • 日志文件:/logs/MongoDB.log,以追加的方式写入日志;
  • 数据文件目录:/data/db,每个DB都会新建一个目录;
  • Windows服务的名称:MongoDB。

-- install 参数改为 --remove 并指定 serviceName 则可以删除服务,默认 serviceName 为 MongoDB

D:/mongodb/bin>mongod --serviceName MongoDB --remove

5. 数据库的 CRUD

进入 mongo 交互界面以后,用 use db_name 来切换。如果数据库不存在,则创建(延时创建)。

启动 mongo 交互界面时,也可以指定数据库。如

$ mongo db_name

db 查看当前数据库

show dbs 查看所有数据库,当前所处的数据库若还未插入文档,则不会显示。

db.dropDatabase() 删除数据

6. 集合的 CRUD

db.book.insert({"Title": "a byte of python", "tag": "python"})  第一次插入时建立集合

show collections 查看所有集合

db.book.drop() 删除集合。

mongodb 入门笔记的更多相关文章

  1. mongodb入门笔记

    mongodb作为nosql中排名第一的数据库,近年来使用的人数越来越多,作为开发人员,非常有必要了解下mongodb数据库.下面就给大家介绍下mongodb数据库的基本知识,有不对的地方欢迎指正,Q ...

  2. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  3. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  4. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  5. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  6. ES6入门笔记

    ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...

  7. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  8. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  9. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

随机推荐

  1. iOS  如何判断当前网络连接状态  网络是否正常  网络是否可用

    网络资源:出处http://blog.csdn.net/mad1989/article/details/8987368   众所周知,我们在开发APP时,涉及网络连接的时候,都会想着提前判断一下当前的 ...

  2. vb6如何将MSHFlexGrid控件中的内容导出为Excel

    首先的是是准备工作 需要引用 Microsoft Excel 11.0 Object Library 需要添加控件Mircrosoft Hierarchical FlexGrid Control 6. ...

  3. javaweb学习总结二十四(servlet经常用到的对象)

    一:ServletConfig对象 1:用来封装数据初始化参数,在服务器web.xml配置文件中可以使用<init-param>标签配置初始化参数. 2:实例演示 web.xml文件中配置 ...

  4. Speex回声消除代码分析

    先说明下,这里的代码流程是修改过的Speex流程,但与Speex代码差异不大,应该不影响阅读.   (1)用RemoveDCoffset函数进行去直流 (2)远端信号预加重后放入x[i+frame_s ...

  5. hdu-5587 Array(回溯)

    题目链接: Array Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 131072/131072 K (Java/Others) P ...

  6. python 打包exe注意的问题

    教程百度.谷歌都有,本文讲讲安装时出错的问题. 教程:http://keliang.blog.51cto.com/3359430/661884 1.cxfreeze 找不到路径时: 需要修改Scrip ...

  7. date & dirname

    date 年:+%Y 月:+%m 日:+%d 时:+%H 或者 +%k 分:+%M 秒:+%S 周:+%w dirname 目录 获取目录的上级目录

  8. Wordpress 运行缓慢的解决方法

    原因为wordpress 3.8之后采用google字体所致.   修改 functions.php    //禁用Open Sans class Disable_Google_Fonts { pub ...

  9. 限额类费用报销单N+1原则

    --添加通过自定义档案列表编码及档案编码查询主键 select bd_defdoc.pk_defdoc as defdoc --查询限额类费用类型主键 from bd_defdoc, bd_defdo ...

  10. 代码研磨 Slim v3 (一)--app->get()&route->add()

    index.php代码如下: $app->get('/forbase', function ($request, $response, $args){ Example\Module\Base:: ...