选择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. EntityFramework优缺点(转)

    Entity Framework  是微软推荐出.NET平台ORM开发组件, 现在已放源代码.  以下我们来讨论一下优缺点和一些问题, 以下简称EF.  有兴趣可查询官网的Entity Framewo ...

  2. Cows

    Farmer John's cows have discovered that the clover growing along the ridge of the hill (which we can ...

  3. oracle 本地使用命令导入数据到远程主机

    第一步:装载oracle客户端 第二部:配置tnsnames.ora. db_172.21.1.7 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST ...

  4. 1.6.5 Updating Parts of Documents

    1. Updating Parts of Documents 有时候你想要直接改变solr文档中的部分内容,solr有两种合适的方法来改变. 第一种:自动更新,这个方法允许仅仅改变文档的一个或者几个字 ...

  5. iOS uiscrollView 嵌套 问题 的解决

    苹果官方文档里面提过,最好不要嵌套scrollView,特别提过UITableView和UIWebView,因为在滑动时,无法知道到底是希望superScrollView滑动还是subScrollVi ...

  6. ASCII码表 char(9),char(10),char(13)等

    char(9)   水平制表符 char(10) 换行 char(13) 回车 测试ASCII码的方法: 在记事本中,按住ALT键,同时用小键盘输入十进制的ASCII码,然后松手,就可以看到效果了! ...

  7. Oracle基础 TO_CHAR函数参考(转)

    Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型. 注意:所有格式化 ...

  8. seajs第一节,seajs基本使用

    什么是seajs,它是干什么使用的,可以去网上搜索一下, 官网:http://seajs.org/docs/ 基本使用seajs <!DOCTYPE html> <html> ...

  9. LearnMVC5-AddAModel

    本人是MVC新手,将从微软官网学习MVC并将看过的英文文档翻译成中文,由于本人英文水平不好,有翻译不准确.错误的地方万望指出,我看到后将会在第一时间修改.另外也希望这一系列文章能为后来者起到引导作用. ...

  10. python字符串反转

    最一般的想法就是将字符串先转换成列表,倒置列表,再将列表转换为字符串 s = 'Hello world' l = list(s) l.reverse() python ''.join(l) 而pyth ...