node.js连接mongoDB数据库
1,下载mongoose
1 | npm i mongoose --save |
2.新建一个mongoose.js文件,引入第三方模块
const mongoose = require("mongoose");
3.设置模板,定义表结构
var Schema=mongoose.Schema;
4.定义一个数据库的连接行为判断变量
const db = mongoose.connection;
5.通过mongoose.Schema调用Schema,然后用new方法来创建Schema,创建表结构
var PackData=new Schema({ user:{type:String,unique:true}, password:String, age:Number, sex:String, email:String, tel:String })
6.生成数据模型
var Pack=mongoose.model("user",PackData);
7.定义一个函数,判断数据库是否连接成功
function initConnect() { return new Promise((resolve, reject) => { mongoose.connect("mongodb://127.0.0.1:27017/SSRProjectData", { useNewUrlParser: true, useUnifiedTopology: true, }); db.on("open", () => console.log("数据库连接成功")); db.on("disconnected", () => console.log("数据库连接已断开")); }); }
8.数据库连接成功进行增删改查--------增加
function save(t) { return new Promise((resolve, reject) => { t.save({}, function (err, data) { resolve(err ? err : data); }); }); }
9.定义一个查询规则,进行数据的查询
function find(rules) { if (!rules) { rules = {}; } else { let str = rules; rules = {}; let sign = str.match(/(>)|(<)|(===)/g)[0]; sign = str.match(/(>=)|(<=)/g) ? str.match(/(>=)|(<=)/g)[0] : sign; let target = str.split(sign)[0]; let value = str.split(sign)[1]; switch (sign) { case "<": rules[target] = { $lt: value }; break; case ">": rules[target] = { $gt: value }; break; case "<=": rules[target] = { $lte: value }; break; case ">=": rules[target] = { $gte: value }; break; case "===": rules[target] = value; break; } } return new Promise((resolve, reject) => { Pack.find(rules, (err, data) => { resolve(err ? err : data); }); }); }
10.对数据进行修改
function updata(rules, option) { return new Promise((resolve, reject) => { Pack.updateOne(rules, option, (err, data) => { resolve(err ? err : data); }); }); }
11.对数据库里的数据进行删除操作
function removeData(rules) { return new Promise((resolve, reject) => { Pack.deleteOne(rules, () => resolve(find())); }); }
12.将上边的函数进行导出,就可以正常使用了
module.exports = {
Pack,
removeData,
updata,
find,
save,
initConnect,
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!