MongoDB的入门使用

一:MonoDB的简单介绍

MongoDB是一个介于关系型数据库与非关系型数据库中间的数据库,是使用C++进行编写的,他的优点是在支持的查询格式特别的强大,可以进行存储比较复杂的数据类型,支持建立索引

 

二:下载

官方地址:https://www.mongodb.com/
本教程下载 3.4版本:http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi
 
三:安装与启动服务
1,对MongoDB进行安装之后,在bin的同级目录下创建 数据库路径(data目录),日志路径(logs目录)和 日志文件(mongo.log文件)
2,创建并编辑配置文件:mongo.conf
#数据库路径 
dbpath=d:\MongoDB\Server\3.4\data 
#日志输出文件路径 
logpath=d:\MongoDB\Server\3.4\logs\mongo.log 
#错误日志采用追加模式 
logappend=true 
#启用日志文件,默认启用 /ˈdʒɜːnl/ 日志,日记
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]]

对应的名词解释: 

  mongodb:// 固定前缀
  username:账号,可不填
  password:密码,可不填
  host:主机名或ip地址,只有host主机名为必填项。
  port:端口,可不填,默认27017
  /database:连接某一个数据库
  ?options:连接参数,key/value对
 
示例:
1,mongodb://localhost 连接本地数据库27017端口
2,mongodb://root:itcast@localhost 使用用户名root密码为itcast连接本地数据库27017端口
3,mongodb://localhost,localhost:27018,localhost:27019,连接三台主从服务器,端口为27017、27018、27019
 
2,添加依赖
 <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("用户名",“新的密码”)

  

 

 

转载于:https://www.cnblogs.com/gdhzdbh/p/11531017.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB是一种NoSQL数据库,具有广泛的应用场景。在社交场景中,可以使用MongoDB存储用户信息和朋友圈信息,并通过地理位置索引实现附近的人、地点等功能。在游戏场景中,可以使用MongoDB存储游戏用户信息、装备和积分等,并以内嵌文档的形式存储,方便查询和高效存储。在物流场景中,可以使用MongoDB存储订单信息,并以内嵌数组的形式存储订单状态的变更,方便查询。在物联网场景中,可以使用MongoDB存储智能设备信息和设备汇报的日志信息,并进行多维度的分析。在视频直播中,可以使用MongoDB存储用户信息和点赞互动信息等\[1\]。 如果你想了解更多关于MongoDB索引的信息,你可以参考官方文档,其中包括索引的数据结构、索引的管理操作以及索引的查看\[2\]。 对于MongoDB入门使用,你可以按照以下步骤进行: 1. 下载并安装MongoDB。 2. 创建一个数据库。 3. 插入数据到数据库中。 4. 查询和更新数据。 5. 学习如何使用索引来提高查询性能。 6. 学习如何备份和恢复数据。 7. 学习如何进行数据复制和故障恢复。 在配置MongoDB时,你可以根据需要修改配置文件,例如设置日志输出的目标、存储数据的目录、启用持久性日志等。你还可以指定MongoDB实例绑定的IP和端口\[3\]。 希望这些信息对你有帮助,如果你有任何进一步的问题,请随时提问。 #### 引用[.reference_title] - *1* *2* *3* [MongoDB快速入门学习](https://blog.csdn.net/huangjhai/article/details/121305718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值