选择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. 通过GCD、NSOperationQueue队列、NSThread三种方法来创建多线程

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...

  2. JavaScript工厂模式代码

    function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayNam ...

  3. frame,bounds,center分析

    采用CGPoint来表示坐标系X,Y位置,创建一个坐标的方式为:CGPoint point=CGPointMake(x,y) CGSize用来表示视图的宽度和高度,可以用CGSizeMake(widt ...

  4. [转]WPF 获取程序启动路径

    本文转自:http://hi.baidu.com/lilipangtou/item/f1b7488e3c92c4d05e0ec1ab 在Windows Form程序中,获取自身的启动目录是非常容易的, ...

  5. uva 12549 最大流

    思路:这题的原型题是比较经典的网络流.原型题模型就是把所有的障碍去掉. 有障碍做法还是一样的,只用将每个列和行重新划分,求最大流就行了. #include <cstring> #inclu ...

  6. 转: javaWeb学习总结(见过最好的知识合集,相当给力,强烈推荐)

    转: http://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/default.html?page ...

  7. UWP源码——Unit Test

    之前我们讨论了涨姿势UWP的RSS数据源获取,以及作为文件存储到本地,再将数据转化成Model对象.这部分非UI的内容非常适合添加Unit Test.不涉及UI的话,UT写起来简单高效,很是值得投入一 ...

  8. php-fpm参数调优

    关于php-fpm.conf参数调优,只对重要的参数进程调优.其它可参数前辈的. http://php.net/manual/zh/install.fpm.configuration.php (官方的 ...

  9. js打印Iframe中的内容,并且不需要预览。

    js打印Iframe中的内容,并且不需要预览 js代码如下: <script type="text/javascript" language="Javascript ...

  10. 《iOS开发指南》要改iOS8版本了,听听您的意见?

    <iOS开发指南>要改iOS8版本了,听听您的意见?参加问卷同学均可获得智捷课堂50元代金卡一张,同时抽取一名同学赠送即将出版的基于iOS8的<iOS开发指南>一本,欢迎大家填 ...