前面已经讲了mongoDB数据库的安装和使用,今天来研究一下node.js中如何连接和使用mongoDB数据库。
增加mongoose类库
npm install mongoose
//引入模块
var mongoose = require('mongoose');
//连接数据库
mongoose.connect('mongodb://localhost:27017/runoob');
//得到数据库连接句柄
var db = mongoose.connection;
//通过数据库连接句柄,监听mongoose数据库成功的事件
db.on('open',function(err){
if(err){
console.log('数据库连接失败');
throw err;
}
console.log('数据库连接成功')
})
增加数据
1.定义表结构
var userModel = new mongoose.Schema({
id:Number,
name:String,
age:Number,
sex:String
})
2.将表的数据结构与表关联起来
var userModel = mongoose.model('userList',userModel,'userList');
3.编写数据
var userList = [
{id:1,name:'小明',age:14,sex:'男'},
{id:2,name:'小红',age:12,sex:'女'},
{id:3,name:'小花',age:16,sex:'女'},
{id:4,name:'小白',age:11,sex:'男'}
]
4.向表内添加数据
userModel.insertMany(userList,(err,result) => {
if(err){
console.log('数据添加失败');
throw err;
}
console.log('数据添加成功:',result);
})
5.导出数据
module.exports={
userModel:userModel
}
userModel.deleteOne({},(err,result) => {
if(err){
console.log('删除数据成功');
throw err;
}
console.log("删除数据成功");
})
//node.js操作mongoDB数据库
/**
1.安装mongodb
npm install mongodb --save
*/
/**
2.引入mongodb下面的MongoClient
*/
var MongoClient = require('mongodb').MongoClient;
/**
3.定义数据库连接的地址,以及配置数据库
*/
var url = 'mongodb://localhost:27017/';
var dbname = 'test';
/**
4.node.js连接数据库
*/
MongoClient.connect(url,function(err,client){
if(err){
console.log('数据库连接失败');
return false;
}
console.log('数据库连接成功')
const db = client.db(dbname); //数据库db对象
//添加数据
db.collection('col').insertOne({'name':'yixuan','age':1},function(error){
if(error){
console.log('添加失败');
return false;
}
console.log('添加成功')
//关闭数据库
client.close();
})
//删除数据
db.collection('col').deleteOne({'title':'banan'},function(error){
if(error){
console.log('删除失败');
}
console.log('删除成功');
//关闭数据库
client.close();
})
//修改数据
db.collection('col').updateOne({'title':'fruit'},{$set:{'title':'伤心'}},function(error){
if(error){
console.log('修改失败');
return false;
}
console.log('修改成功')
//关闭数据库
client.close();
})
//查询数据
var result = [];
var userRel = db.collection('col').find();
userRel.each(function(error,data){
if(error){
console.log('查询错误');
return false;
}
console.log(data);
client.close();
})
})