【问题标题】:Mongoose not working猫鼬不工作
【发布时间】:2018-07-22 01:03:19
【问题描述】:

我正在尝试构建一个 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 的新手,今天刚刚安装。

请帮忙!!!!

【问题讨论】:

  • 我在哪里可以看到日志?
  • 不显示任何错误,当我实现 .on('error') 或 on('connected') 时成功
  • 调试模式在控制台中不显示任何内容

标签: node.js mongodb mongoose


【解决方案1】:

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

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);
}

【讨论】:

    猜你喜欢
    • 2018-05-02
    • 2017-05-26
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 2013-11-01
    • 2021-02-10
    相关资源
    最近更新 更多