NODEJS实战微博评论03_连接操作数据库

本文详细介绍如何在Node.js环境中使用Mongoose连接MongoDB数据库,包括数据库连接、模型定义及数据增删查改的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.打开mongodb服务

打开mongodb服务教程

2.连接数据库MyWeibo,如果没有 MyWeibo 数据库,则会自动创建

var mongoose = require('mongoose');
// mongodb服务默认启动端口为27017 
// 连接到数据库 MyWeibo ,如果没有 MyWeibo 数据库,则会自动创建
mongoose.connect('mongodb://localhost:27017/MyWeibo', function (err) {
    if (err) {
        console.log("数据库连接失败");
    } else {
        console.log("数据库连接成功");
        //监听
        app.listen(8080);
    }
})

app.js 代码修改后如下

//加载express模块
var express = require('express');
//创建app应用
var app = express();

var mongoose = require('mongoose');
// mongodb服务默认启动端口为27017 
// 连接到数据库 MyWeibo ,如果没有 MyWeibo 数据库,则会自动创建
mongoose.connect('mongodb://localhost:27017/MyWeibo', function (err) {
    if (err) {
        console.log("数据库连接失败");
    } else {
        console.log("数据库连接成功");
        //监听
        app.listen(8080);
    }
})

//设置静态文件托管
//当用户请求的路径以'/'开头时,直接返回__dirname + '/public'目录下文件
//第一个参数默认'/',以下语句相当于 app.use('/',express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/public'));

运行node app.js  

数据库连接成功

3.通过模型操作数据库

在schemas目录下创建comment.js ,定义comment集合的结构

var mongoose = require('mongoose');

//创建一个schema,类似于sql的字段
module.exports = new mongoose.Schema({
    content: String,
    time: Date,
    like: {
        type: Number,
        default: 0
    },
    unlike: {
        type: Number,
        default: 0
    }
})

在models目录下创建Comment.js,引入数据库结构


mongoose.model('集合(表)名字', schema);

集合(表)名字 默认小写并且会自动加s

var commentSchema = require('../schemas/comment');
var mongoose = require('mongoose');

// 创建一个模型
// Comment 为 创建的 collections(集合,相当于关系型数据库中的表) 的名字,默认小写并且自动加s,即名字为comments
module.exports = mongoose.model('Comment', commentSchema);

4.测试一下对数据库进行增操作, 先在app.js 中 new一个实例,展示向数据库插入数据的操作

//引入Comment Model,以便通过Model对其数据库操作
var Comment = require('./models/Comment');

//new一个实例
var test = new Comment({
    "content": "我是测试的评论",
    "time": new Date()
});

//保存记录到数据库
test.save();

修改后的app.js代码为

//加载express模块
var express = require('express');
//创建app应用
var app = express();

/////////////////对数据库 增操作 示例//////////////////////////////////////////
//引入Comment Model,以便通过Model对其数据库操作
var Comment = require('./models/Comment');

//new一个实例
var test = new Comment({
    "content": "我是测试的评论",
    "time": new Date()
});

//保存记录到数据库
test.save();
/////////////////对数据库 增操作 示例//////////////////////////////////////////

var mongoose = require('mongoose');
// mongodb服务默认启动端口为27017 
// 连接到数据库 MyWeibo ,如果没有 MyWeibo 数据库,则会自动创建
mongoose.connect('mongodb://localhost:27017/MyWeibo', function (err) {
    if (err) {
        console.log("数据库连接失败");
    } else {
        console.log("数据库连接成功");
        //监听
        app.listen(8080);
    }
})

//设置静态文件托管
//当用户请求的路径以'/'开头时,直接返回__dirname + '/public'目录下文件
//第一个参数默认'/',以下语句相当于 app.use('/',express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/public'));

命令行运行 node app.js

在这里向大家介绍一个mongodb可视化工具robo,然后我们就不用再通过 可恨 的命令 去进行增删查改操作啦,一切都会变得很简单

robo安装教程

按照教程连接数据库后,可以看到连接下面有一个我们刚刚创建的 MyWeibo数据库, 下面的Collections目录下有 我们刚刚创建的comments集合

comments集合下有一个test数据

 

对数据库的测试增操作就完成啦

在整个项目中,需要用到的代码做到第3步就好了,请把第4步在app.js中增添的代码 删去 嘿嘿嘿

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值