nodejs 使用mongoose实现mongodb的操作

1 新建项目文件夹运行 npm init --y
2 安装依赖

npm install express --save
npm install mongoose --save
npm install body-parser--save

项目框架
在这里插入图片描述
db.js

const mongooes = require("mongoose");

mongooes.connect("mongodb://127.0.0.1:27017/ellis",{ useUnifiedTopology: true });

module.exports = mongooes;

model.js

const mongooes = require('./db');

var appSchema = mongooes.Schema({
    name: String,
    statue: {
        type: Number,
        default: 1
    }
});

var appModel = mongooes.model("ellis", appSchema, 'ellis');

module.exports = appModel;

query.js

const appModel = require('./model')

class query {
    static add(mod) {
        return new Promise((resolve,reject)=>{
            mod.save((err,doc)=>{
                console.log(doc);
                if (err)
                {
                    reject(err);
                }
                resolve(doc);
            })
        })
        
    }


    static all(mod){

        return new Promise((resolve,reject)=>{
            mod.find({},{"_id":0,"__v":0},(err,doc)=>{
                console.log(doc);
                if (err)
                {
                    reject(err);
                }
                resolve(doc);
            })
        })
        
    }
}

module.exports = query

routers/main.js

const express = require('express');

const router = express.Router();
const bodyParser = require('body-parser');
router.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
router.use(bodyParser.json())


router.get('/', (req, res) => {
    const query = require('../models/query');
    const appModel = require('../models/model')
    mo = new appModel();
    mo.name = "134";
    mo.statue = 123;

    query.add(mo);
    res.send('123');
})

router.get('/all', async (req, res) => {
    const query = require('../models/query');
    const appModel = require('../models/model')
    // mo.save();
    let data = await query.all(appModel);
    res.send(data);


})


router.post('/post', async (req, res) => {
    const query = require('../models/query');
    const appModel = require('../models/model');
    let json = (req.body);

    console.log(json);
    let mo = new appModel();
    mo.name = json.name;
    mo.statue = json.statue;
    // mo.save();
    let data = await query.add(mo)
    res.send(data);
})

module.exports = router;

app.js

const express = require('express');

const app = express();

const rouetr = require('./routers/main')
const bodyParser = require('body-parser');
app.use('/get',rouetr);
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
 
// parse application/json
app.use(bodyParser.json())

// app.get('/', (req, res) => {
//     const query = require('./models/query');
//     const appModel = require('./models/model')
//     mo = new appModel();
//     mo.name = "134";
//     mo.statue = 123;

//     query.add(mo);
//     res.send('123');
// })


// app.get('/all',  async (req, res) => {
//     const query = require('./models/query');
//     const appModel = require('./models/model')
//     // mo.save();
//     let data =await query.all(appModel);
//     res.send(data);
    
    
// })


app.listen(3000);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js是一个基于Chrome V8 JavaScript引擎的JavaScript运行环境,可用于服务器端编程。Express是一个基于Node.js平台的Web应用开发框架,提供了简单易用的API,可以快速构建Web应用程序。Mongoose是一个优秀的Node.js模块,用于连接MongoDB数据库,并提供了丰富的API来操作MongoDB数据库。 下面是使用Node.js、ExpressMongoose操作MongoDB的基本流程: 1. 安装Node.js、ExpressMongoose 在终端中执行以下命令: ``` npm install node npm install express npm install mongoose ``` 2. 连接MongoDB数据库 在app.js或server.js文件中,使用Mongoose连接MongoDB数据库: ``` var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); ``` 3. 定义数据模型 在models目录下创建一个JavaScript文件,使用Mongoose定义数据模型: ``` var mongoose = require('mongoose'); var Schema = mongoose.Schema; var UserSchema = new Schema({ name: String, age: Number, email: String }); module.exports = mongoose.model('User', UserSchema); ``` 4. 实现API接口 在routes目录下创建一个JavaScript文件,实现API接口: ``` var express = require('express'); var router = express.Router(); var User = require('../models/user'); router.get('/users', function(req, res, next) { User.find(function(err, users) { if (err) return next(err); res.json(users); }); }); router.post('/users', function(req, res, next) { var user = new User(req.body); user.save(function(err) { if (err) return next(err); res.json(user); }); }); router.get('/users/:id', function(req, res, next) { User.findById(req.params.id, function(err, user) { if (err) return next(err); res.json(user); }); }); router.put('/users/:id', function(req, res, next) { User.findByIdAndUpdate(req.params.id, req.body, function(err, user) { if (err) return next(err); res.json(user); }); }); router.delete('/users/:id', function(req, res, next) { User.findByIdAndRemove(req.params.id, function(err, user) { if (err) return next(err); res.json(user); }); }); module.exports = router; ``` 5. 启动Express应用 在app.js或server.js文件中启动Express应用: ``` var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var userRoute = require('./routes/user'); app.use(bodyParser.json()); app.use('/api', userRoute); app.listen(3000, function() { console.log('Server listening on port 3000'); }); ``` 6. 测试API接口 通过Postman等工具测试API接口。例如: - GET http://localhost:3000/api/users - POST http://localhost:3000/api/users - GET http://localhost:3000/api/users/5f3e7003c3e1c12345678901 - PUT http://localhost:3000/api/users/5f3e7003c3e1c12345678901 - DELETE http://localhost:3000/api/users/5f3e7003c3e1c12345678901 这样就完成了使用Node.js、ExpressMongoose操作MongoDB的基本流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值