zoukankan      html  css  js  c++  java
  • MongoDB 学习(一)安装配置和简单应用

    一、安装和部署

    1、服务端安装

    1、官网下载(官方网站 https://www.mongodb.org/downloads/#production),傻瓜式安装,注意修改安装路径。

    安装完成后的目录结构:

    bin中,mongo.exe 为客户端,mongod.exe 为数据库:

    2、配置环境变量

    2、启动服务端

    1、配置数据存放地址

    创建数据目录:D:MongoDBdata

    2、配置日志存放地址

    创建日志目录:D:MongoDBlog

    在命令行中配置:

    mongod.exe --dbpath="D:MongoDBdata" --logpath="D:MongoDBlogdemo.log" --port=27017

    注意:

    1、启动成功后再当前控制台中不会有任何提示(没有消息就是最好的消息)。

    2、在日志文件可以查看是否启动成功。

    3、不要关闭这个命令行。

    3、查看 data 、 log 文件夹 和 demo.log 文件:

    1、data 文件夹:

    2、log 文件夹:

    3、打开 demo.log:

      在 demo.log 文件中,可以看到是否配置成功,配置的一些信息。

    3、启动客户端

    在命令行中输入 mongo.exe 显示如下信息:

     

    二、MongoDB 和其他数据库的区别

    三、应用

    1、常用命令

    1、db.help() 查看命令提示:

    2、db 查看当前所在数据库名字:

    3、use命令 use + 数据库名 表示切换或是创建数据库:

    4、show dbs 显示数据库,需要注意的是show dbs,只会显示有数据的库,没有数据的库,是不会显示的。下图中,dqs数据库中,开始没有数据,所以不会显示,当我插入一条数据库后,show dbs 就会显示它。

     

    5、db.dropDatabase() 删除当前数据库的数据:

     

    6、db.stats() 查看当前数据的状态:

     

    解释:

    "db" : "zt01" ,表示当前是针对 "zt01" 这个数据库的描述。

    "collections" : 0,表示当前数据库有多少个collections.可以通过运行show collections查看当前数据库具体有哪些collection。

    "objects" : 0,表示当前数据库所有collection总共有多少行数据。显示的数据是一个估计值,并不是非常精确。

    "avgObjSize" : 0,表示每行数据平均大小,也是估计值,单位是bytes。

    "dataSize" : 0,表示当前数据库所有数据的总大小,不是指占有磁盘大小。单位是bytes。

    "storageSize" : 0,表示当前数据库占有磁盘大小,单位是bytes,因为mongodb有预分配空间机制,为了防止当有大量数据插入时对磁盘的压力,因此会事先多分配磁盘空间。

    "numExtents" : 0,事件数。

    "indexes" : 0,表示system.indexes表数据行数。

    "indexSize" : 0,表示索引占有磁盘大小。单位是bytes

    "fileSize" : 0,表示当前数据库预分配的文件大小。

    7、db.version() 查看mongoDB版本:

    8、db.getMongo() 查看当前连接机器的ip:

    9、db.createCollection() 创建集合:

    10、db.collection.drop() 删除集合:

    11、db.COLLECTION_NAME.insert(document) 插入文档:

    MongoDB 插入数据就和插入 json 数据一样。

    文档 document:json格式字符串

    { "_id" : ObjectId("5aa1e91d9f51d3ee8ed16453"), "title" : "mongodb study", "by" : "zt1994" }

    12、update() 方法用于更新已存在的文档:

    语法:

    1 db.collection.update(
    2    <query>, query : update的查询条件,类似sql update查询内where后面的。
    3    <update>, update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    4    {
    5      upsert: <boolean>, upsert  : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    6      multi: <boolean>, multi  : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    7      writeConcern: <document> writeConcern  :可选,抛出异常的级别。
    8    }
    9 )

  • 相关阅读:
    命名空间 和 class_exist() 问题
    浏览器中打开文件
    memcach 安装
    MySQL事务机制
    Xcode10更新报错:library not found for -lstdc++.6.0.9
    appium-chromedriver@3.0.1 npm ERR! code ELIFECYCLE npm ERR! errno 1
    npm audit fix
    使用WebStorm/IDEA上传本地项目到GitHub
    vue-cli(vue脚手架)超详细教程
    [Swift 开发] 使用闭包传值(typealias)
  • 原文地址:https://www.cnblogs.com/zt19994/p/8529996.html
Copyright © 2011-2022 走看看