# 三.启动与连接
# 1.配置项启动
参数 | 含义 |
---|---|
--dbpath | 指定数据库文件的目录 |
--port | 端口 默认是 27017 28017 |
--fork | 以后台守护的方式进行启动 |
--logpath | 指定日志文件输出路径 |
--config | 指定一个配置文件 |
--auth | 以安全方式启动数据库,默认不验证 |
# 1.1 mongo.conf
dbpath=E:\mongo\data
logpath=E:\mongo\log
port=50000
1
2
3
2
3
# 1.2 启动服务器
mongod --config mongo.conf
1
# 1.3 启动客户端
mongo --port 50000
1
# 2.连接 mongodb
# 2.1 connect 连接
var mongoose = require("mongoose") // 引入 mongoose
var url = "mongodb://localhost:27017/mytest" // 本地数据库地址
mongoose.connect(url)
var db = mongoose.connection
db.on("error", console.error.bind(console, "connection error:"))
db.once("open", function () {
console.log("Successful connection to " + url)
})
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 2.2 使用 mongodb
var Schema = mongoose.Schema //schema 都会映射到一个 MongoDB collection
let user = {
name: String,
}
var userSchema = Schema(user)
var User = mongoose.model("User", userSchema) //将schema编译为model构造函数
var newUser = new User({ name: "yyyyyyyyyyyy" }) // Mongoose 会自动找到名称是 model 名字复数形式的 collection
newUser.save()
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 2.3 多个连接
到目前为止,我们已经看到了如何使用 MongoDB 的默认连接。有时我们可能需要 mongo 打开多个连接,每个有不同的读/写设置,或者只是对不同的数据库为例。在这些情况下,我们可以利用 mongoose.createConnection()接受已经讨论过的所有参数,并返回一个新的连接。
var conn = mongoose.createConnection('mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]
1
# 2.4 连接池
每个连接,无论是用 mongoose.connect 还是 mongoose.createConnection 创建都用一个默认大小为 5 的内置可配置连接池备份。使用的连接选项调节其大小,
var uri = "mongodb://localhost/test"
mongoose.createConnection(uri, { server: { poolSize: 4 } })
mongoose.createConnection(uri, { replset: { poolSize: 4 } })
var uri = "mongodb://localhost/test?poolSize=4"
mongoose.createConnection(uri)
1
2
3
4
5
2
3
4
5