node.js连接mongoDB数据库

前面已经讲了mongoDB数据库的安装和使用,今天来研究一下node.js中如何连接和使用mongoDB数据库。

方法一:mongoose连接

一、配置mongose

增加mongose类库
npm install mongoose

二、利用mongoose连接mongoDB数据库

//引入模块
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('数据库连接成功')
})

结果:
在这里插入图片描述

三、利用mongoose操作mongoDB数据库

增加数据
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
}

6.查看结果
在这里插入图片描述
删除数据

userModel.deleteOne({},(err,result) => {
	if(err){
		console.log('删除数据成功');
		throw err;
	}
	console.log("删除数据成功");
})

结果:
在这里插入图片描述

方法二:MongoClient连接

//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();
	})
	
})

猜你喜欢

转载自blog.csdn.net/weixin_40970987/article/details/82983530