首先付上官网的安装教程:安装mongodb,这个是社区版,由于企业版是收费的,就先来个社区版以供测试使用。
安装步骤:
1、在包管理系统中插入公钥:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
2、为MongoDB创建list file
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
3、重载本地包数据库
$ sudo apt-get update
4、安装MongoDB包
$ sudo apt-get install -y mongodb-org
如果要安装特定版本,可以替换下面命令的版本号:
sudo apt-get install -y mongodb-org=3.6.2 mongodb-org-server=3.6.2 mongodb-org-shell=3.6.2 mongodb-org-mongos=3.6.2 mongodb-org-tools=3.6.2
这样MongoDB就安装好了,为了测试是否安装成功,执行以下操作:
1、启动MongoDB:
$ sudo service mongod start
2、验证是否成功启动
查看日志文件: /var/log/mongodb/mongod.log
[initandlisten] waiting for connections on port 27017
3、终止MongoDB服务:
$ sudo service mongod stop
4、重启MongoDB:
$ sudo service mongod restart
5、开始使用MongoDB:
$ mongo --host 127.0.0.1:27017
卸载MongoDB:
1、停止服务
$ sudo service mongod stop
2、移除包
$ sudo service mongod stop
3、删除数据文件夹
$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb
到这里我们的MongoDB已经安装完成
如果要外网访问,修改配置文件vim /etc/mongod.conf, 将绑定的ip改为0.0.0.0
另外如果使用的是云服务器需要修改安全组策略,添加支持对27017端口的授权
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
现在开始配置mogodb:
使用
$ mongo --host 127.0.0.1:27017
或者
$ mongo
来进入数据库,看到以下内容表示进入了mongo的地盘
MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.2
下面创建一个新的用户
> use admin
switched to db admin
> db.createUser( { user: "admin", customData: {description: "superuser"}, pwd: "adminpassword", roles: [ { role: "root", db: "admin" } ] } )
Successfully added user: {
"user" : "admin",
"customData" : {
"description" : "superuser"
},
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
> show users
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"customData" : {
"description" : "superuser"
},
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
> exit
$ sudo service mongod restart
现在就可以连接远程服务器了,可以测试一下:
$ mongo -u admin -p adminpassword 127.0.0.1/admin
如果是远程连接,只要把127.0.0.1换成主机的ip地址即可
接下来开始配置我们的项目,步骤类似Vapor奇幻之旅(06 PostgreSQL)
在Package.swift中添加
swift3:
.Package(url: "https://github.com/vapor/mongo-provider.git", majorVersion: 2)
swift4:
.package(url: "https://github.com/vapor/mongo-provider.git", .upToNextMajor(from: "2.0.0"))
在Config+Setup.swift中添加Provider支持
import FluentProvider
import MongoProvider
extension Config {
...
/// Configure providers
private func setupProviders() throws {
try addProvider(FluentProvider.Provider.self)
try addProvider(MongoProvider.Provider.self)
}
...
}
"driver": "postgresql"
Config/
- mongo.json
secrets/
- mongo.json
内容为
{
"url": "mongodb://<db-user>:<db-password>@<host>:<port>/<database>"
}
根据上面服务端的配置,可以写成:
{
"url": "mongodb://admin: adminpassword@xxx.xxx.xxx.xxx:27017/admin"
}
同样也可以在代码中连接数据库:
import Vapor
import MongoProvider
let drop = Droplet()
let mongo = try MongoProvider.Provider(database: ..., user: ..., password: ...)
drop.addProvider(mongo)
插入操作
查询操作
表示已经成功连接服务器,并可以进行数据操作。
本篇介绍了怎么在ubuntu系统上安装和配置mongodb, 如何在服务器的mongodb上创建新的用户,并通过mongo-provider连接服务器上的数据库。
由于mongodb的Mac版对APFS支持并不好,我并没有安装在我的Mac上,等待后续版本更新后我会进行相应的补充。
关于Vapor其他知识,可以参考以下文章:
希望你对我的教程能够喜欢,你们的赞是我持续的动力,欢迎加入QQ群参与互动:431296189
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有