mongoose连接Mongodb数据库

mongoose连接Mongodb数据库

mongoose连接Mongodb数据库

上图可以看见,数据库连接成功了,并且连接的数据库上一期在database1里任意创建的端口为10086的数据库

1. 引入 mongoose 模块(这个可以从npm下载,使用指令:npm i mongoose -S ,就可以下载mongoose了)

const mongoose = require("mongoose") 

2. 使用 connect() 函数连接指定的数据库

mongoose.connect("mongodb://127.0.0.1:10086/demo1",{ useNewUrlParser:true })

这句话的意思就是,连接端口为10086,的数据库demo1

因为事先我就已经按10086端口开启,所以mongoose可以访问10086端口,而后面的demo1是自己随意设置的数据库名称,不一定是demo1,也可以是demo2,demo3,或者,zhangsan,lisi之类,这个看自己喜欢

如果是默认端口的话,那么端口号可以省略,但是你要事先开启默认的端口号

3. 使用 connection 监听数据库的状态

mongoose.connection.once("open",function(){

console.log("数据库连接成功了")

})

connection就相当于数据库,一旦数据库开启的时候,就会出发 connection.once("open",callback),相反,当数据库关闭的时候,也会触发 connection.once("close",callback)

为了方便看到数据库开启,在回调函数里我用 console.log("数据库连接成功了") 来检测一旦数据库开启,会提示

 

使用相关插件可以查看数据库的数据

mongoose连接Mongodb数据库

可能你会疑惑,为什么没有创建的数据库demo1,那是因为还没有向里面添加数据,因此数据库demo1也就没有被创建,因为意义。

4. 现在简单创建一条数据插入到数据库中

mongoose连接Mongodb数据库

mongoose连接Mongodb数据库

可以看见我向demo1里的 person 集合了插入了一条 name为"zhangsan"(张三)的数据,现在来看看数据库

mongoose连接Mongodb数据库

可以看见已经有demo1数据库了,打开demo1之后

mongoose连接Mongodb数据库

可以看见people,里面的集合为什么是people呢,我添加的集合不是 person吗?那是因为mongodb会自己默认把集合的名称改为复数,因此是people。查看people里面的元素之后,可以看到

mongoose连接Mongodb数据库

里面有之前我们插入的 name为"zhangsan" 这一条数据,这样实现了mongoose和mongodb之间的连接。