一、使用NODEJS连接到MongoDB
前置条件 开启数据库 (CMD中输入 mongod)
/*
1.下载安装Mongoose
npm i mongoose --save
2.在项目中引入mongoose
var mongoose = require("mongoose");
3.连接MongoDB数据库
mongoose.connect('mongodb://数据库的ip地址:端口号/数据库名', { useMongoClient: true});
- 如果端口号是默认端口号(27017) 则可以省略不写
4.断开数据库连接(一般不需要调用)
- MongoDB数据库,一般情况下,只需要连接一次,连接一次以后,除非项目停止服务器关闭,否则连接一般不会断开
mongoose.disconnect()
- 监听MongoDB数据库的连接状态
- 在mongoose对象中,有一个属性叫做connection,该对象表示的就是数据库连接
通过监视该对象的状态,可以来监听数据库的连接与断开
数据库连接成功的事件
mongoose.connection.once("open",function(){});
数据库断开的事件
mongoose.connection.once("close",function(){});
Schema
Model
Document
*/
//引入
var mongoose = require("mongoose");
//连接数据库
mongoose.connect("mongodb://127.0.0.1/mongoose_test" , { useMongoClient: true});
mongoose.connection.once("open",function(){
console.log("数据库连接成功~~~");
});
mongoose.connection.once("close",function(){
console.log("数据库连接已经断开~~~");
});
//断开数据库连接
mongoose.disconnect();
二、NODEJS模块化
将连接到数据库操作和自定义结构框架操作都抽取成单独的工具,以供其他模块调用
//创建与数据库的连接
var mongoose = require("mongoose");
mongoose.connect("mongodb://127.0.0.1/mongoose_test",{useMongoClient:true});
mongoose.connection.once("open",function () {
console.log("数据库连接成功~~~");
});
exports.model=mongoose;
//自定义结构框架
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var stuSchema = new Schema({
name:String,
age:Number,
gender:{
type:String,
default:"female"
},
address:String
});
var StuModel = mongoose.model("student" , stuSchema);
module.exports = StuModel;
引用实例
var mongoose = require("./tools/tool.js").model;
//第一种引用方式使用exports.model暴露对象,返回的是对象,需添加.model才能返回model
var StuModel = require("./tools/schema.js");
//第二种引用方式使用module.exports暴露对象
/*
Document 和 集合中的文档一一对应 , Document是Model的实例
通过Model查询到结果都是Document
*/
//创建一个Document
var stu = new StuModel({
name:"奔波霸",
age:48,
gender:"male",
address:"碧波潭"
});