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. hibernate----component-entity (人-地址-学校)

    package com.ij34.dao; import javax.persistence.*; @Entity @Table(name="school_inf") public ...

  2. form表单及其中元素

    <form method=get/post action="提交路径"> 单行文本域:<input type="text" name=&quo ...

  3. swipe.js 2.0 轻量级框架实现mobile web 左右滑动

    属性总结笔记如下: <style> .swipe { overflow: hidden; //隐藏溢出 清楚浮动 visibility: hidden; //规定元素不可见 (可以设置,当 ...

  4. Android提升篇系列:adb无法识别MX5等特殊机型

    发现自己Ubuntu系统adb无法识别魅族 mx5机型.操作具体如下(其他机型依然适用): 一.Ubuntu环境 1.查看自己当前设备的idVendor lsusb命令直接查看当前usb设别列表,找到 ...

  5. Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already in use.

    遇到这个问题似然重启是个办法,但是真心好累.. 1.在dos下,输入  netstat   -ano|findstr  8080 //说明:查看占用8080端口的进程 显示占用端口的进程 2.在任务管 ...

  6. (2)RGB-D SLAM系列- 工具篇(依赖库及编译)

    做了个SLAM的小视频,有兴趣的朋友可以看下 https://youtu.be/z5wDzMZF10Q 1)Library depended 一个完整的SLAM系统包括,数据流获取,数据读取,特征提取 ...

  7. 《Continuous Integration》读书笔记

    Trigger a Build whenever a change occurs. it can help us reduce assumptions on a projecvt by rebuild ...

  8. 成为 Web 开发大师你必须知道的 7 件事情

    曾经是这样的,懂点编码,并可以偶尔耍点酷,那么你就会被认为是一个Web开发大师.但是现在,情况再也不是这样的了.Web开发已经朝着主流方向发展,开发人员数量显著增加.这意味着,如果你想成为这个领域的大 ...

  9. Select-or-Die演示11种美化下拉框select方法

    在线预览 下载地址 在线实例 <div class="main"> <div class="mianc"> <h1>默认&l ...

  10. easyui1.3.2中使用1.3.6或1.4.x的calendar

    首先在1.3.2中calendar控件不支持日历某天的颜色进行改变,和自定义回调函数 Name Type Description Default width number The width of c ...