Javascript

nodejs连接mongodb

本文主要是介绍nodejs连接mongodb,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

首先我们先去 mongodb官网 注册一个账号,然后申请一个免费的服务器,直接用qq邮箱注册即可。

1.填写相对应的注册信息,然后去qq邮箱确认下。

2.选择服务器,这边我们选择 FREE 就可以了,毕竟自己学习的话(521M)已经够用了。然后我们点击 Create,进行下步操作。

3. 选择服务器,建议选择香港、台湾的服务器。点击Create Cluster,创建服务器。

4. 接下来会跳转到这个页面,记得左边选择Databases ,这样就可以看到我们创建的服务器了(这里中间文字提示服务器会在1-3分钟创建完成)。

 如果想创建新的服务器可以点击右边的Create,但是新的服务器就需要花钱了。

 

 等待几分钟后就可以看到我们自己创建的服务器了。然后我们点击Connect,会出现选择连接的弹框。

5. 点击Connect your appliction 就可以看到用nodejs 连接服务器的例子。

  点击 connect using MongoDB Compass , 可以看到使用 MongoDB Compass连接服务器的密钥,密码是自己账号的密码,记得把 '<password>' 替换成自己的密码。

  6. 没有 MongoDB Compass ,先去下载 MongoDB Compass。可以在上一张图中选择 I do not have MongoDB Compass ,那么就会提供下载链接,根据自己的系统选择对应的安装包。

  然后打开 MongoDB Compass 在下方输入密钥,点击Connect 即可接连到我们的服务器,并且可以对服务器中的数据库进行操作。

 

我们开始使用nodejs连接到数据库,并进行一些简单的操作。这里使用的是 mongoose 进行数据库操作。

1.连接数据库,在node环境下运行,控制台输出 connect success 就表示数据库连接成功了。需要注意的是,如果我们的数据

const mongoose = require('mongoose');

// 数据库名称
const dbName = 'nodeStudy'
// 连接服务器的链接  把链接换成自己的服务器链接就可以了。
const uri = `mongodb+srv://lvkeming:<password>@cluster0.qkwmi.mongodb.net/${dbName}?retryWrites=true&w=majority`;
mongoose.connect(uri, (err) => {
	if (err) {
		console.log(err);
		return
	}
	console.log('connect success');
});

2.一些简单的增删改查

const mongoose = require('mongoose');

const dbName = 'nodeStudy'
const uri = `mongodb+srv://lvkeming:<password>@cluster0.qkwmi.mongodb.net/${dbName}?retryWrites=true&w=majority`;
mongoose.connect(uri, (err) => {
	if (err) {
		console.log(err);
		return
	}
	console.log('connect success');
});


/**
 *  数据校验
 * 	required 表示这个数据必须传入
 * 	max 最大值
 * 	min 最小值
 * 	enum 枚举类型,要求数据必须满足枚举值
 * 	match 增加的数据必须符合 match(正则)的规则
 * 	maxlength 最大长度
 * 	minlength 最小长度
 *  validate 自定义校验,返回bool类型
 */

// 这边定义了 nodeStudy 里面user表里面的字段类型,以及一些数据校验
const UserSchema = new mongoose.Schema({
	username: {
		type: String,
		unique: true
	},
	password: String,
	name: String,
	age: Number,
	sex: String,
	tel: Number,
	status: {
		// 如果不传status 那么status默认值为1
		type: Number,
		default: 1
	}
});

// 这边第三个参数 才是和具体的表对应,这里连接到了 user 这个表
const UserModel = mongoose.model('User', UserSchema, 'user');

// 查询数据,第一个参数是查询的条件
// 第二个参数是一个回调函数,返回 err错误信息 和 data查询的结果
// 该语句查询 username 为 lisi 的用户
UserModel.find(
	{ "username": "lisi" },
	(err, data) => {
		if (err) throw err
		console.log(data);
	}
)

// 增加数据
let addUser = UserModel({
	username: 'lisi11',
	password: '12345678',
	name: '李四',
	age: 34,
	sex: '男',
	tel: 10086344567
})
addUser.save((err, res) => {
	if (err) throw err
	console.log(res);
})

// 删除数据 第一个参数是查询的条件
// 第二个参数是一个回调函数,返回 err错误信息 和 res删除结果
UserModel.deleteOne(
	{ 'username': 'lisi11' },
	(err, res) => {
		if (err) throw err
		console.log(res);
	}
)

// 更新数据 第一个参数是查询的条件 。
// 第二个参数是更新的数据,更新数据是合并更新。
// 第三个参数是一个回调函数,返回 err错误信息 和 res未更新的数据
UserModel.updateOne(
	{ 'username': 'lisi11' },
	{ 'age': 45 },
	(err, res) => {
		if (err) throw err
		console.log(res);
	}
)

  

 

这篇关于nodejs连接mongodb的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!