提示:本篇介绍,如何在docker中下载mongo,并利用navicat连接mongo,以及使用go测试链接
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
最近项目需要写一个评论的接口,并且将数据放到MongoDB中,立马去学习MongoDB,一看安装MongoDB需要跟mysql一样配置一大堆东西,看着就头疼,既然之前学习了docker那么我为什么不能在docker上搞那!说干就干
提示:以下是本篇文章正文内容,下面案例可供参考
一、Docker安装MongoDB
1.拉取镜像
docker pull mongo
2运行镜像生成容器
docker run --restart=always --name mongo -v -p 27017:27017 -d mongo --auth
3创建mongo用户和密码
3.1进入容器
docker exec -it mongo bash
3.2进入mongo
mongo
3.3使用admin
use admin
3.4创建用户密码
db.createUser({user:"root",pwd:"123456",roles:[{role:'root',db:'admin'}]})
#退出命令
exit
二、navicat远程测试连接
三 go测试连接mongodb
var collection *mongo.Collection
var client *mongo.Client
func main() {
initDB()
//insert()
// 延迟关闭连接
defer func() {
if err := client.Disconnect(context.TODO()); err != nil {
log.Fatal(err)
}
fmt.Println("Disconnected from MongoDB!")
}()
}
func initDB() {
// 设置 MongoDB 连接选项
clientOptions := options.Client().ApplyURI("mongodb://admin:123456@虚拟机ip:27017")
var err error
// 连接到 MongoDB
client, err = mongo.Connect(context.TODO(), clientOptions)
if err != nil {
log.Fatal(err)
}
// 验证连接
err = client.Ping(context.TODO(), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected to MongoDB!")
}
上述的需要你将你自己的虚拟机ip写上去即可。