MongoDB——基础入门

MongoDB是目前比较流行的一种非关系型数据库(NoSql),他的优势这里不废话,我们关注怎么使用它。

安装

  1. 下载,首先肯定要去下载,我们去官网下载,在国内,可能没翻墙可能会没办法显示下载的按钮,那样子可以到我的百度网盘去下载我正使用的3.0.6版本

  2. 安装,下载到“mongodb-win32-x86_64-2008plus-ssl-3.0.6-signed.msi”文件后运行,把MongoDB安装到你想要安装的路径,默认是在D:\Program Files\MongoDB\Server\3.0,你可以在安装的时候选择customer的安装方式来选择自己想要安装的路径。

  3. 建立一个存放数据库的文件夹,我选择在MongoDB安装目录下的根目录加入一个名为db的文件夹,路径为:“D:\Program Files\MongoDB\Server\3.0\db”,这个没有固定要求。

  4. 启动,打开一个“命令指示符”窗口(可以使用win+R,输入cmd),首先进入MongoDB安装的目录下的bin文件夹里,也可以在环境变量里面加入MongoDB安装的目录下的bin文件夹路径(我就是这样做的),然后用下面的命令来设置数据库路径并启动MongoDB

     mongod --dbpath {数据库路径路径}

    比如:

     D:\Program Files\MongoDB\Server\3.0\bin>mongod --dbpath "D:\Program Files\MongoDB\Server\3.0\db"

    实际效果图如下:



    拉到最下面可以看到一行提示

     2015-10-09T10:01:52.344+0800 I NETWORK  [initandlisten] waiting for connectionson port 27017

    表示MongoDB已经安装成功,并监听者27017端口,端口可以使用mongod命令的时候设置,更多关于mongod参数,可以输入

     mongod -h

    来查看

基本操作

增删改查实一个数据库必备的操作,接下来我们就说说怎么在shell下进行增删改查。

我们另外打开一个“命令指示符”窗口(注意:之前的不能关闭),输入mongo打开MongoDB的shell,这个shell就是MongoDB的客户端

D:\Program Files\MongoDB\Server\3.0\bin>mongo
MongoDB shell version: 3.0.6
connecting to: test
>

默认连接的数据库是“test”

  1. 增操作

    我们来增加一个名为“Person”的集合(可以理解为数据库表)

     > db.Person.insert({"name":"张三", "age":10})
    WriteResult({ "nInserted" : 1 })
    > db.Person.insert({"name":"李四", "age":20})
    WriteResult({ "nInserted" : 1 })
    >
  2. 查操作

    条件查询:

     > db.Person.find({"name":"张三"})
    { "_id" : ObjectId("5617275737a5aa2cafdb4b84"), "name" : "张三", "age" : 10 }
    >

    查询全部:

     > db.Person.find()
    { "_id" : ObjectId("5617277b37a5aa2cafdb4b85"), "name" : "李四", "age" : 20 }
    { "_id" : ObjectId("56172d069d1af21ad1f769c7"), "name" : "张三", "age" : 40 }
    >

    注意:大家发现了没有?集合中多了一个“_id”的字段,这个字段是默认加入的GUID,目的是保证数据的唯一性,在关系型数据库的时候,我们都会给表加一个主键,在MongoDB都可以省了自己加主键了。

  3. 更新操作

    update命令有两个参数,第一个是“查找的条件”,第二个是“更新的值”

     > db.Person.update({"name":"张三"}, {"name":"张三","age":40})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.Person.find({"name":"张三"})
    { "_id" : ObjectId("56172d069d1af21ad1f769c7"), "name" : "张三", "age" : 40 }
    >
  4. 删除操作

     > db.Person.remove({"name":"张三"})
    WriteResult({ "nRemoved" : 1 })
    > db.Person.find()
    { "_id" : ObjectId("5617277b37a5aa2cafdb4b85"), "name" : "李四", "age" : 20 }
    >

将MongoDB安装到window服务里

  1. 创建一个存放数据库日志的文件夹,比如“D:\Program Files\MongoDB\Server\3.0\log”

  2. 在根目录下创建一个名为“mongod.cfg”配置文件,内容如下:

     systemLog:
    destination: file
    path: D:\Program Files\MongoDB\Server\3.0\log\mongod.log
    storage:
    dbPath: D:\Program Files\MongoDB\Server\3.0\db

    具体的配置参数,请到官网文档:http://docs.mongodb.org/manual/reference/configuration-options/

    注意:配置文件内容不能用“缩进符号”来对齐,在目前我使用的版本3.0.6会无法启动。

  3. 管理员权限打开一个“命令指示符”窗口,使用如下命令

     D:\Program Files\MongoDB\Server\3.0\bin>mongod --config "D:\Program Files\MongoD
    B\Server\3.0\mongod.cfg" --install D:\Program Files\MongoDB\Server\3.0\bin>

    具体的安装日志,我们打开我们“mongod.cfg”配置文件里设置的日志文件,路径“D:\Program Files\MongoDB\Server\3.0\log\mongod.log”,内容如下:

     2015-10-09T11:51:47.881+0800 I CONTROL  Trying to install Windows service 'MongoDB'
    2015-10-09T11:51:47.883+0800 I CONTROL Service 'MongoDB' (MongoDB) installed with command line '"D:\Program Files\MongoDB\Server\3.0\bin\mongod.exe" --config "D:\Program Files\MongoDB\Server\3.0\mongod.cfg" --service'
    2015-10-09T11:51:47.883+0800 I CONTROL Service can be started from the command line with 'net start MongoDB'

    吐槽:安装完后,没任何提示,这个用户体验做的不太好

  4. 启动MongoDB服务,启动方式:

    1. 在“命令指示符”窗口输入:

       net start MongoDB
    2. 通过window服务管理窗口启动

至此,打完收工。。。。。。。。。。。。。。。

MongoDB学习——基础入门的更多相关文章

  1. Mongodb最基础入门教程

      Mongodb最基础入门教程 如果想了解一下redis的入门教程,可以去看一下我的上一篇博客 Mongodb的安装大家可以参考一下其他博主的博客,这里我就不做介绍了.不过值得注意的是,在Linux ...

  2. MongoDB学习笔记(入门)

    一.文档的注意事项:1.  键值对是有序的,如:{ "name" : "stephen", "genda" : "male&quo ...

  3. MongoDB学习day07--mongoose入门,数据库增删改查,默认参数,模块化

    一.mongoose介绍 Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具. Mongoose 是 NodeJS 的驱动, 不能作为其他语言的驱动. M ...

  4. Scala学习——基础入门

    基础语法 1)注意点 1)区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义. 2)类名 - 对于所有的类名的第一个字母要大写. 3)方法名 ...

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

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

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. MongoDB for C#基础入门

    笔者这里采用的是mongoDB官网推荐使用.net驱动: http://mongodb.github.io/mongo-csharp-driver/2.0/getting_started/quick_ ...

  8. NOSQL学习笔记系列之MongoDB 一 基础

    主题:MongoDB 学习资料参考网址: 1.http://www.w3cschool.cc/mongodb/mongodb-tutorial.html 2.http://www.icoolxue.c ...

  9. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

随机推荐

  1. 三层架构与MVC之间的区别

    文章转发自:http://www.admin10000.com/document/535.html 我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真 ...

  2. 【Asphyre引擎】冒险岛换装Demo升级到最新版PXL

    demo代码  (不包含Sprite代码,要Sprite代码请下载之前那个doudou的demo)

  3. Nginx详解-服务器集群

    Nginx是什么 代理服务器:一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.  一个完整的代理请求过程为:客户端首先 ...

  4. struts原理

    Struts是一个开源的web框架. 为什么会有struts? 因为我们对mvc理解的不同,可能造成不同公司写程序的时候,规范不统一,这样不利于程序的维护和扩展,所以我们有必要用一个统一的规范来开发项 ...

  5. java内存模型-顺序一致性

    数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java 内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代 ...

  6. [转]Dcloud App离线本地存储方案

    原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localstorage.session ...

  7. Quartz.NET开源作业调度框架系列(二):CronTrigger

    CronTriggers比SimpleTrigger更加的灵活和有用,对于比较复杂的任务触发规则,例如"每个星期天的晚上12:00"进行备份任务,SimpleTrigger就不能胜 ...

  8. angularjs 指令—— 绑定策略(@、=、&)

    angularjs 指令—— 绑定策略(@.=.&) 引入主题背景:angular 的指令配置中的template可以直接使用硬编码写相应的代码,不过也可以根据变量,进行动态更新.那么需要用到 ...

  9. React Native 常见问题集合

    在使用React Native时候,我记录下比较常遇到的问题,分为以下几类: 1. 调试问题 2. 写法问题 3. 疑难问题 4. 奇怪问题 调试问题 1. 在react-native run-and ...

  10. Flex布局窥探(一)

    一.Flex布局是神马? Flex是Flexible Box的缩写,意为‘弹性布局’,用来为盒模型提供最大的灵活性. 任何容器都能被指定为Flex布局: .box{ display: flex; } ...