首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Node.js中创建一个Mongo数据库?

如何在Node.js中创建一个Mongo数据库?
EN

Stack Overflow用户
提问于 2018-06-08 02:21:59
回答 2查看 55关注 0票数 0

我已经使用Node.js / MongoDB创建了后端操作,并为它们创建了服务,但当我运行服务器时,它表明我已成功连接,但我在Robo 3T中看不到数据库。

下面是我编写的代码:

代码语言:javascript
复制
DBConfig.js 

var mongoose = require ('mongoose');
var Schema = mongoose.Schema;

var UserSchema = new Schema({

name : {
type : String,
require : true
},

address : {
type : String,
require : true  
}
});

mongoose.model("User", UserSchema);

module.exports = mongoose;

mongoose.connect('mongodb://127.0.0.1:27017/TestDB4', function(err){

if(err)
{
console.log(err);
process.exit(-1);
}
console.log("Connected to the db")
});

我看不出有什么错误。为什么没有创建DB?

EN

回答 2

Stack Overflow用户

发布于 2018-06-08 02:28:09

检查您的User.Controller.js,如下所示,

代码语言:javascript
复制
var mongoose        = require('../DBSchema/SchemaMapper');
var UserSchema      = mongoose.model('User');

var UserController = function(){
    this.insert = (data) => {
        return new Promise((resolve, reject) => {
            var user = new UserSchema({
                userName: data.userName,
                password: data.password
            });
            user.save().then(() => {
                resolve({status: 200, message: "Added new user"});
            }).catch(err => {
                reject({status: 500, message: "Error:- "+err});
            })
        })

    }

    this.update = (id, data) => {
        return new Promise((resolve, reject) => {
            UserSchema.update({_id: id}, data).then(() => {
                resolve({status: 200, message: "update user"});
            }).catch(err => {
                reject({status: 500, message: "Error:- " + err});
            })
        })
    }

    this.searchAll = () => {
        return new Promise((resolve, reject) => {
            UserSchema.find().exec().then((data) => {
                resolve({status: 200, data: data});
            }).catch(err => {
                reject({status: 500, message: "Error:- " + err});
            })
        })
    }

    this.search = (id) => {
        return new Promise((resolve, reject) => {
            UserSchema.find({_id:id}).exec().then(user => {
                resolve({status: 200, data: user});
            }).catch(err => {
                reject({status: 500, message: "Error:- " + err});
            })
        })
    }

    this.delete = (id) => {
        return new Promise((resolve, reject) => {
            UserSchema.remove({_id:id}).then(() => {
                resolve({status: 200, message: "remove user"});
            }).catch(err => {
                reject({status: 500, message:"Error:- " + err});
            })
        })
    }
}

module.exports = new UserController();

如下所示的和User.Route.js,

代码语言:javascript
复制
var express     = require('express');
var router      = express.Router();
var Controller  = require('./User.Controller');

router.post('/', (req, res) => {
    Controller.insert(req.body).then(data => {
        res.status(data.status).send({message: data.message});
    }).catch(err => {
        res.status(err.status).send({message: err.message});
    })
});


router.put('/:id', (req, res) => {
    Controller.update(req.params.id, req.body).then(data => {
        res.status(data.status).send({message: data.message});
    }).catch(err => {
        res.status(err.status).send({message: err.message});
    })
});

router.get('/', (req, res) => {
    Controller.searchAll().then(data => {
        res.status(data.status).send({data: data.data});
    }).catch(err => {
        res.status(err.status).send({message: err.message});
    });
});

router.get('/:id', (req, res) => {
    Controller.search(req.params.id).then(data => {
        res.status(data.status).send({data: data.data});
    }).catch(err => {
        res.status(err.status).send({message: err.message});
    });
});

router.delete('/:id', (req, res) => {
    Controller.delete(req.params.id).then(data => {
        res.status(data.status).send({message: data.message});
    }).catch(err => {
        res.status(err.status).send({message: err.message});
    })
})
module.exports = router;
票数 0
EN

Stack Overflow用户

发布于 2018-06-08 02:38:58

按照下面的检查您的app.js

代码语言:javascript
复制
const Express       = require("express");
const BodyParser    = require("body-parser");
const Routes        = require("./Routes");
const Cors          = require("cors");

const app = Express();
app.use(Cors());

app.use(BodyParser.urlencoded({ extended: false }));
app.use(BodyParser.json());
app.use('/', Routes);

app.listen(8083, 'localhost', (err) => {
    if(err) {
        console.log(err);
        process.exit(-1);
    }
    console.log("Server listen port 8083");
});

和Routes.js如下所示,

代码语言:javascript
复制
var Express         = require("express");
var Routes          = Express.Router();
var UserRoute       = require('./src/User/User.Route');
var CommentRoute    = require('./src/Comment/Comment.Route');

Routes.use('/user/', UserRoute);
Routes.use('/comment/', CommentRoute);

module.exports = Routes;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50747831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档