MongoDB的入门使用以及遇到的坑
一:MonoDB的简单介绍
MongoDB是一个介于关系型数据库与非关系型数据库中间的数据库,是使用C++进行编写的,他的优点是在支持的查询格式特别的强大,可以进行存储比较复杂的数据类型,支持建立索引
二:下载
#数据库路径
dbpath=d:\MongoDB\Server\3.4\data
#日志输出文件路径
logpath=d:\MongoDB\Server\3.4\logs\mongo.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
3,进入bin目录下,使用管理员进入命令行窗口,执行下面的命令进行安装
mongod.exe --config " xxxx/mongo.conf(路径) " --install
4,执行对应的命令
net start MongoDB #启动MongoDB
net stop MongoDB #关闭MongoDB
“...../mongod.exe” --remove #移除MongoDB
5,验证是否启动成功
访问:http://localhost:27017 查询MongoDB的页面
四:对于客户端的安装:
目前对于MongoDB 的客户端有很多可以自行下载,我推荐的是nosqlbooster,下载地址:https://nosqlbooster.com/downloads
五:java对MongoDB的简单使用
1,服务的连接格式
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
对应的名词解释:
1,mongodb://localhost 连接本地数据库27017端口
2,mongodb://root:itcast@localhost 使用用户名root密码为itcast连接本地数据库27017端口
3,mongodb://localhost,localhost:27018,localhost:27019,连接三台主从服务器,端口为27017、27018、27019
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.3</version>
</dependency>
3,代码测试连接
//测试连接
@Test
public void testConnect(){
//创建客户端
MongoClient mongoClient = new MongoClient("localhost", 27017);
//采用连接字符串简历连接
// MongoClientURI connecting = new MongoClientURI("mongodb://localhost:27017/test"); //记得数据库的名字
//MongoClient client = new MongoClient(connecting);
MongoDatabase database = mongoClient.getDatabase("test");//获取数据库
MongoCollection<Document> collection = database.getCollection("student"); //获取对应的表
Document document = collection.find().first(); //获取对应的行
String json = document.toJson();
System.out.println(json);
}
注意:在使用URI进行连接的时候,加上数据库的名字,如果出现了如下的错误,【MongoCommandException: Command failed with error 18: 'Authentication failed.】,此时请检查连接的地址以及用户是否是该数据库所属的用户,在MongoDB中,一个用户对应一个库,在连接时应写对应的
六:MongoDB涉及命令
#数据库以及集合相关
1,show dbs 查询全部数据库
2,use dbbase_name 切换或者创建数据库
3,db.dropDatabase() 删除数据库,要先切换到对应的数据库下
4,db.createCollection(name,options),
5,db.collectionName.drop() 删除集合
6,db.collectionName.insert({"key": "value"}) 对集合添加数据
7,db.collectionName.update( {更新条件},{更新的内容},选项 )
8,db.collectionName.remove({删除条件})根据条件进行删除文档
9,db.collectionName.remove() 删除所有的文档
10,db.collectionName.find({查询条件}),没有条件就是查询所有的文档
11,db.collectionName.find({查询条件},{要显示的字段,需要显示的是1,不需要显示的是0,不用加双引号}),投影查询 #用户相关
1,先切换到对应的数据库下:use databaseName
2,sb.createUser({
user: "username",
pwd:"密码",
roles:[
{ role:"角色",db:"数据库名字" }
]
})
show users: 查询用户
db.dropUser(“ 用户名 ”) 删除用户
db.updateUser("用户名",{roles:[{role:"角色",db:“数据库角色”}]}) 修改用户信息
db.changeUserPassword("用户名",“新的密码”)

MongoDB的入门使用以及遇到的坑的更多相关文章
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- mongodb新手入门,mongodb命令学习
下面来总结一下mongodb新手入门的常用命令吧.要是您是mongodb新手,可以看下. 1,show dbs 查询mongodb里面的数据库列表 如果想查看当前连接在哪个数据库下面,可以直接输入db ...
- Node.js和MongoDB - MongoJS入门
第一次尝试翻译外国牛人的博文,希望大家喜欢. 本文源码详见:https://github.com/njaulj/mongojs 一点都不夸大的说,近年来node.js和mongodb的确是大放异彩,在 ...
- 大数据应用之:MongoDB从入门到精通你不得不知的21个为什么?
一.引言: 互联网的发展和电子商务平台的崛起,催生了大数据时代的来临,作为大数据典型开发框架的MongoDB成为了No-sql数据库的典型代表.MongoDB从入门到精通你不得不知的21个为什么专为大 ...
- MongoDb 快速入门教程
文章首发于[博客园-陈树义],点击跳转到原文MongoDb 快速入门教程. MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的 ...
- 在.Net Core中使用MongoDB的入门教程(二)
在上一篇文章中,讲到了MongoDB在导入驱动.MongoDB的连接,数据的插入等. 在.Net Core中使用MongoDB的入门教程(一) 本篇文章将接着上篇文章进行介绍MongoDB在.Net ...
- 在.Net Core中使用MongoDB的入门教程(一)
首先,我们在MongoDB的官方文档中看到,MongoDb的2.4以上的For .Net的驱动是支持.Net Core 2.0的. 所以,在我们安装好了MangoDB后,就可以开始MangoDB的.N ...
- Mongodb的入门(8)mongodb事物分析
老生常谈:<在前面博客中也介绍过> mongodb官网:https://docs.mongodb.com/manual/introduction/ mongodb:官网上是这样定义的Mon ...
- MongoDB基础入门视频教程
MongoDB基础入门视频教程http://www.icoolxue.com/album/show/98
随机推荐
- JavaWeb——JSP开发1
1.什么是jsp,为什么要使用jsp. 再使用idea创建完一个web工程后,在webapp目录下会生成一个index.jsp 直接编译运行,网站将自动打开这样一个网页: 所以我们可以推测这个inde ...
- 关于Java虚拟机运行时数据区域的总结
Java虚拟机运行时数据区域 程序计数器(Program Counter) 程序计数器作为一个概念模型,这个是用来指示下一条需要执行的字节码指令在哪. Java的多线程实际上是通过线程轮转做到的,如果 ...
- CodeForces 29D Ant on the Tree
洛谷题目页面传送门 & CodeForces题目页面传送门 题意见洛谷里的翻译. 这题有\(\bm3\)种解法,但只有一种是正解(这不是废话嘛). 方法\(\bm1\):最近公共祖先LCA(正 ...
- 面试java后端面经_1
1 自我介绍(建议提前准备:没准备的可以这样说:来自某学校 姓名 专业 学的啥 为啥学 自己陆陆续续开发的项目 毕业将近 找工作 在哪看到贵公司的招聘 准备了啥 大概这样) 例子:您好!我是来自XXX ...
- MySQL基础(用的贼鸡儿多)
整理有点乱,业余也玩玩系统,经常碰见这些玩意,有点烦,老是记不住 MySQL 基础语法 一.连接 MYSQL格式: mysql -h 主机地址 -u 用户名 -p 用户密码. 1.连接到本机上的 MY ...
- 使用Counter进行计数统计
使用Counter进行计数统计 想必大家对计数统计都不陌生吧!,简单的说就是统计某一项出现的次数.实际应用中很多需求都需要用到这个模型,如检测样本中某一值出现的次数.日志分析某一消息出现的频率分析文件 ...
- DOM选择器之元素选择器
DOM中元素选择器 在DOM中我们可以将元素选择器分为两类:1.元素节点选择器:2.其它节点选择器.通过选择器选择HTML中的元素以对其进行操作,以此实现用JS对页面的操作. 一.元素节点选择器 1. ...
- Leetcode之二分法专题-162. 寻找峰值(Find Peak Element)
Leetcode之二分法专题-162. 寻找峰值(Find Peak Element) 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1] ...
- c3p0,dbcp与druid 三大连接池的区别[转]
说到druid,这个是在开源中国开源项目中看到的,说是比较好的数据连接池.于是乎就看看.扯淡就到这. 下面就讲讲用的比较多的数据库连接池.(其实我最先接触的是dbcp这个) 1)DBCP DBCP是一 ...
- map()函数映射
map()函数(映射) pattern = "abba" str = "dog cat cat dog" res=str.split() print(list( ...