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. How to Access MySQL with Python Version 3.4

    http://askubuntu.com/questions/630728/how-to-access-mysql-with-python-version-3-4 How to Access MySQ ...

  2. Appcelerator Titanium Studio: JNI_CreateJavaVM missing error

    Mac升级到Yosemite后,Titanium Studio启动不了,报Appcelerator Studio: JNI_CreateJavaVM missing error 之类的错误,重装了Or ...

  3. Java并发编程:如何创建线程?

    Java并发编程:如何创建线程? 在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务.下面先讲述一下Java中的应用程序和进程相关的概念知识, ...

  4. mybaits注解

    基本的增删改 @Insert("insert into t_user values(null,#{username},#{password},#{account})") @Dele ...

  5. jquery中ajax 从前端到后端 完整过程解析

    几个原则: 1.get方式访问浏览器时,常加参数缘由: GET访问浏览器是等幂的,就是一个相同的URL只有一个结果[相同是指整个URL字符串完全匹配],所以第二次访问的时候如果 URL字符串没变化,浏 ...

  6. [moka同学笔记]MySql语句整理

    更改单个表中的字段属性 content 以前为text类型的,现在改为longtext ALTER TABLE `notice` CHANGE `content` `content` LONGTEXT ...

  7. [转]maven创建自定义的archetype

    创建自己的archetype一般有两种方式,比较简单的就是create from project 1.首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应 ...

  8. CalloutManager

    在SharePoint中很多弹出的提示样式挺好看,不仅想整一个耍耍.如下图: 老办法,看一下html中的class名字得知为:Callout 谷歌之---官方文档:http://msdn.micros ...

  9. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q9-Q12)

    Question 9 You are designing an external binary large object (BLOB) store provider by implementing t ...

  10. dispatch

    GCD提供了并管理着若干FIFO队列(queues),可以通过block的形式向这些FIFO序列提交任务.GCD同时维护着一个线程池,所有的任务在线程池的线程运行. 系统提供的队列 main queu ...