猫鼬不工作

时间:2018-02-11 21:28:36

标签: node.js mongodb mongoose

我正在尝试构建一个API,但是当我调用.save()或.find()方法时,mongoose没有响应。 它确实连接到本地数据库。我是新手,实际上我今天刚刚安装了mongoDB

这是我的模特:

'use strict';

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


var StoreSchema = new Schema({
    address: {
      type: String
    },
    name: {
      type: String
  }
});

module.exports = mongoose.model('Store', StoreSchema);

我的控制器:

'use strict';

 var mongoose = require('mongoose'),
     Store = mongoose.model('Store');

 exports.save = function (req, res) {
   var newStore = new Store(req.body);
   newStore.save(function (err, store) {
      if (err) {
        res.send(err);
      }

      res.json(store);
    });
 }

我的路线

'use strict';

 var errorResponse = require('./../models/response').error;
  var successResponse = require('./../models/response').succcess;
 var mongoose = require('mongoose');
 var Store = require('./../models/store');


  module.exports = function (app, appEnv) {
  var routes = appEnv.routes;
 var store = require('./../controllers/storeController');

  routes.route('/stores')
    .post(store.save);
 }

和我的服务器:

var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
mongoose = require('mongoose'),
port = process.env.PORT || 8080,
stores = require('./app/models/store'),
mongoURL = '127.0.0.1:27017/',
dbName = 'storesDB';

 mongoose.Promise = global.Promise;
mongoose.connect(`mongodb://${mongoURL}${dbName}`);

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

var routes = express.Router();

 const appEnv = {
   routes: routes
  };

  require('./app/routes')(app, appEnv);


  app.use('/server', routes);


  app.listen(port);
 console.log('API listening on port' + port);

每件事都很好但是当我做newStores.save()时它没有做任何事情 我需要配置什么或什么? 我是mongodb的新手,今天就装好了。

请帮助!!!!

1 个答案:

答案 0 :(得分:2)

您需要访问控制器中的模型

<强> controller.js

'use strict';

 var mongoose = require('mongoose'),
 var Store = require('your model.js file path');

 exports.save = function (req, res) {
  var newStore = new Store(req.body);
  newStore.save(function (err, store) {
  if (err) {
    res.send(err);
  }

  res.json(store);
 });
}

你的路线文件就像

<强> route.js

var express = require('express');
var store = require('your controller.js file path');
var router = express.Router();

routes.route('/stores')
.post(store.save);
}
相关问题