文档章节

MongoDB初遇

trayvon
 trayvon
发布于 2016/04/17 18:20
字数 1663
阅读 121
收藏 7
点赞 1
评论 0

一、MongoDB服务的启动

       Mongodb的安装还是比较容易的,从MongoDB下载MongoDB,Windows下基本上按照提示一步一步的执行就可以了,Linux下只需解压就可以了。安装完毕后为了避免每一次都加上绝对路径,配置一下环境变量,把mongodbbin目录加入到path中。

接下来启动mongodb服务,如果配置了环境变量最简单的启动mongodb服务就是:

mongod --dbpath e:\data\db

   注意:dbpath表示就是数据存放的目录,只有是存在的目录就可以了。如果是Windows32位系统MongoDB是没有默认的存储引擎的,必须要通过启动参数指定存储引擎如:

mongod --storageEngine=mmavp1 –dbpath e:\data\db

只需要在第一次指定dbpath的时候加上存储引擎参数就可以了,只要不改变dbpath的目录,以后就不用加存储引擎参数了。

1:启动mongodb服务

   启动mongodb服务除了指定dbpath参数之外还有几个比较常用的就是—auth,表示使用数据库需要验证,--logpath表示日志文件的位置。--logappend表示添加日志的方式。例如:

mongod --auth --logpath "e:\logs\log.log" --logappend --dbpath "e:\data\ \db"

如果绝对每一次启动mongodb输入这么多参数麻烦,Windows下可以通过下面的命令安装mongodb服务。

mongod --auth --logpath "e:\logs\log.log" --logappend --dbpath "e:\data\ \db" –install

因为默认的服务名就是mongodb,所以安装完成之后就可以通过

net start mongodb 来启动服务
net stop mongodb 来关闭服务

   注意指定的日志文件目录和数据文件目录一定要存在,否则会出错。如果要修改可以把install选项换成reinstall,如:

mongod --auth --logpath "e:\logs\log.log" --logappend --dbpath "e:\data\ \db" –reinstall

   如果你安装服务之后发现你每一次启动都想指定不同的启动参数,那么可以使用

sc delete mongodb  来删除服务。

   如果只是本机使用,建议启动参数不用键- -auth选项,特别是不熟悉mongodb的情况下,因为mongodb的权限管理相关的知识还是比较多的。

二、MongoDB的基本命令


   启动好了mongodb服务,就可以通过mongodb提供的客户端连接到mongodb数据库了,启动一个命令窗口,输入mongo命令:连接到mongodb数据服务器默认使用的是test数据库

图2:连接mongodb服务

查看所有的数据库
show dbs
查看当前使用的数据库
db
切换数据库和MySQL一样使用关键字use,下面命令是切换到test数据库
use test
创建数据库也是使用use
只有在数据库中创建了集合,才会查看到服务器中有对应的数据库
创建集合
db.createCollection(“collection_name”)
删除集合
db.collection_name.drop()
db.dropDatabase()
mongodb中没有表的慨念,与之相对应的是集合collection,查看所有的集合
show collections
查看有那些用户:(admin数据库才可以)
db.system.users.find().pretty()
这条语句就是查询admin数据库下的system.users集合中的数据,pretty方法表示格式化输出的数据。

   默认情况下mongodb是没有用户的,如果是在—auth启动的mongodb会应许你创建一个用户,如果要创建更多的用户则需要响应的权限。

   所以如果我们用—auth启动mongodb服务,我们创建的第一个用户的角色一般是userAdminAnyDatabase 这个角色是mongodb内置的角色。这个内建角色最常用的就是它拥有查看数据库列表的权限,和对所有数据库的userAdmin这个内建角色的权限。如果一个用户在数据库上被赋予userAdmin这个角色,那么他在该数据库上就有以下的权限:

  changeCustomData
  changePassword
  createRole
  createUser
  dropRole
  dropUser
  grantRole
  revokeRole
  viewRole
  viewUser

   这里我们不在深入的探讨用户(usesr),角色(role),权限(action)的话题,对于最基本的操作我们需要注意的是用户是建立在数据库上的,所以当我们只需授权操作时候要在use到对应的数据库上db.auth(“username”,”password”)。也可以自定义角色,指定角色有哪些权限(action)

下面是在admin数据库上创建一个admin用户,并且为他赋予了userAdminAnyDatabase角色和创建成功的返回结果。

db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}

三、MongoDB的数据备份与还原

首先是mongodump命令,还是只使用基本的参数

mongodump –d database_name –o outdir

把数据库名为database_name的数据库导出到outdir目录

mongodump命令导出的数据恢复:

mongorestore –d database_name outdir

outdir目录的导入到数据库名为database_name 的数据库

mongoexport –d database_name –c collection_name –o outfile_name

把数据库名为database_name 集合名为collection_name导出为outfile_name

mongoimport –d database_name –c collection_name infile_name

把文件infile_name文件的数据导入到数据库名为database_name,集合名为collection_name的集合。

   相比于 mongodbimport命令,mongorestore命令可以实现批量的导入,恢复重mongodump导出的整个数据库的时候,使用mongoresotre直接一步到位,非常方便。

   上面的4个命令默认的连接的数据库都是localhost,端口是27017mongodb服务。所以一定要启动本地的mongodb服务。当然你也可以通过—host hostname:port的方式来指定要连接的主机和端口。值得注意的是上面的是个命令都是单独的工具,所以直接在命令行执行就可以了,不要在mongo中执行。

四、参考链接

下面的链接是mongodb官方文档关于mongodb基本操作(增删改查)

https://docs.mongodb.org/manual/core/crud-introduction/

Mongodb的官方文档中有一些内容不好找,下面就是一个mongodb shell常用的文档链接,其中就包含了用户和角色管理

https://docs.mongodb.org/manual/reference/method/

如果你没有安装成功,这里有一篇不错的关于怎样安装mongodb的文章:

https://segmentfault.com/a/1190000002744306

mongodb的数据备份与恢复:

https://docs.mongodb.org/manual/reference/program/mongodump/

https://docs.mongodb.org/manual/reference/program/mongorestore/

https://docs.mongodb.org/manual/reference/program/mongoexport/

© 著作权归作者所有

共有 人打赏支持
trayvon
粉丝 14
博文 119
码字总数 176520
作品 1
程序员
初识MongoDB-用法和用途

用意:记录一下自己学习MongoDB的一些体会. 适合范围, 安装和用法. 一. MongoDB相关 JavaScript统一天下 JavaScript正在快节奏地统一整个web开发流程. JvaScript是WEB前端开发的唯一依靠, 依赖...

清风漫步
2014/02/21
0
0
大数据分析挖掘学习方向?数据分析师的就业前景怎么样?

加米谷数据分析挖掘课程明细,从理论到云端实操环境到项目实战,手把手教您从0掌握数据分析与挖掘技术,带您走进数据时代。 第一阶段(python基础) python入门:1、Python版本特性介绍2、P...

加米谷大数据
04/17
0
0
mongodb安裝及初相识(node,使用mongoose )

官网 https://www.mongodb.com/ 下载安装mongodb https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ 安装到最后一步时,将左下角的勾选去掉,那个勾选是安装图形化界面...

天上月丶
05/03
0
0
CentOS-6安装使用mongodb

Centos-6.3下安装Mongodb,首先从http://www.mongodb.org/downloads下载软件压缩包mongodb-linux-x86_64-2.2.2.tgz。 安装机器:192.168.15.237 上传位置:/usr/local/ 软件安装:/usr/loca...

drewin
2013/10/21
0
0
mongoDB 启动服务提示已存在连接

在我用 F:mongodbbin>mongod --dbpath f:mongodbdata --logpath f:mongodblogsMongoDB.log --auth --install 创建验证的时候,总是创建失败。 原因: MongoDB服务已经存在了,不能重复创建,...

NotFoundException
2012/12/07
0
0
mongodb在linux下安装

mongodb linux 安装 下载 cd /usr/local/src wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.4.9.tgz tar -xzvf mongodb-linux-i686-2.4.9.tgz mv mongodb-linux-i686-2.4.9 .......

Le_Guto
2014/01/24
0
0
Windowns、Ubuntu17.10 下安装 MongoDB - [图文并茂]

Windows 下安装 MongoDB MongoDB 安装包下载 点击下载 Windowns 平台: MongoDB 安装包 MongoDB 下载中心 MongoDB 安装 运行安装包,单击Next 选择安装路径 单击Next,完成安装 安装完成后,...

kangvcar
2017/11/01
0
0
Mongodb学习(安装篇): 在centos下的安装

下载解压文件 解压文件 查看解压文件 将/lamp/mongodb-linux-i686-2.2.2/bin目录拷贝到/usr/local/mongodb下 创建数据存放和日志文件: 启动进程(以后台Daemon形式运行服务) 查看mongod进程 ...

tw5566
2013/01/19
0
0
mongodb 3.2.5安装过程详细记录

2016-10-19 mongodb 3.2.5安装 1 准备安装介质 安装介质下载: mongodb的安装方式,我通常使用二进制包的方式,内网不能配置连接外网的yum源; 官方建议的mongodb下载地址为: Downloads.mo...

yumushui991
06/26
0
0
PHP与MongoDB:类库、框架与工具介绍

本文来自MongoDB官方,文中把PHP与MongoDB相关的类库、框架、工具做了汇总和介绍,如果你正使用PHP并在关注MongoDB,那么这篇文章可能对你有用。 架构相关 CakePHP CakePHP是一个非常受欢迎的...

kisshua
2012/08/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Hbase增删查改工具类

package cn.hljmobile.tagcloud.service.data.repository;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util......

gulf
6分钟前
0
0
详解机器学习中的梯度消失、爆炸原因及其解决方法

前言 本文主要深入介绍深度学习中的梯度消失和梯度爆炸的问题以及解决方案。本文分为三部分,第一部分主要直观的介绍深度学习中为什么使用梯度更新,第二部分主要介绍深度学习中梯度消失及爆...

tantexian
7分钟前
0
0
JavaMail 发送邮件

参考 https://www.cnblogs.com/xdp-gacl/p/4216311.html 发送html格式邮件 package com.example.stumgr;import java.util.Properties;import javax.mail.Message;import javax.mail......

阿豪boy
8分钟前
0
0
Mongodb安装教程

MongoDB是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bso...

木筏笔歆
9分钟前
0
0
Hadoop之YARN命令

概述 YARN命令是调用bin/yarn脚本文件,如果运行yarn脚本没有带任何参数,则会打印yarn所有命令的描述。 使用: yarn [--config confdir] COMMAND [--loglevel loglevel] [GENERIC_OPTIONS] [...

舒运
10分钟前
0
0
个推数据统计产品(个数)iOS集成实践

最近业务方给我们部门提了新的需求,希望能一站式统计APP的几项重要数据。这次我们尝试使用的是个推(之前专门做消息推送的)旗下新推出的产品“个数·应用统计”,根据官方的说法,个推的数...

个推
11分钟前
0
0
Git 修改提交的用户名和邮箱名字

在通过git提交代码时,发现提交的用户名是自己mac的账户名,想要修改为其他名字和邮箱。 首先可以通过以下命令查看当前配置下的信息,包括用户名和邮箱: > git config --list 针对单项目的相...

edwardGe
15分钟前
0
0
Object.defineProperty()

Object.defineProperty(obj, props)方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。 obj 在其上定义或修改属性的对象 props 要定义其可枚举属性或修改的属性描述符的对象 ...

litCabbage
16分钟前
0
0
JEESZ分布式框架--单点登录集成方案(三)

多项目集成单点登录配置 当sso验证完成之后,客户端系统需要接收sso系统返回的结果时,需要定义一个过滤器获取返回结果,然后针对返回结果做相关处理.如果不需要做处理时,此处Filter也可以不...

明理萝
16分钟前
0
1
超简单的利用plist 查看ipa包名及其它信息

1.下载ipa安装包 2.用rar等工具打开 3.将iTunesMetadata.plist文件解压出来 4.用http://www.atool.org/plist_reader.php在线反编译工具 5.在其中中找到softwareVersionBundleId 就是包名...

xiaogg
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部