Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongo模型没有响应_Node.js_Mongodb - Fatal编程技术网

Node.js Mongo模型没有响应

Node.js Mongo模型没有响应,node.js,mongodb,Node.js,Mongodb,我正在开发一个新的应用程序,并试图在本地为mongo设置存储。我的api端点受到攻击,但只要我尝试实际调用db操作(查找或保存),它就没有响应 var express = require('express'); var router = express.Router(); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var Person = require('./data/perso

我正在开发一个新的应用程序,并试图在本地为mongo设置存储。我的api端点受到攻击,但只要我尝试实际调用db操作(查找或保存),它就没有响应

var express = require('express');
var router = express.Router();

var bodyParser = require('body-parser');

var mongoose = require('mongoose');
var Person = require('./data/person');
var dbConfig = require('./config');
//database: 'mongodb://localhost:27017/persondb'
var db = mongoose.createConnection(dbConfig.database);
db.on('error', function() {
    console.info('Error: Could not connect to MongoDB. Did you forget      to run `mongod`?');
});

if (~process.argv.indexOf('mode_dev')) {
    global.mode_dev = true;
    console.log('Server started in dev mode.');
}


// configure app to use bodyParser()
// this will let us get the data from a POST
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.use('/api', router);

router.route('/persons')
    .post(function(req, res) {
        debugger;
        var person = new Person();      // create a new instance of the Person model
        person.name = req.body.name;

        person.save(function(err) {
            debugger;
            if (err)
                res.send(err);

            res.json({ message: 'Person created!' });
        });
    })
    .get(function(req, res) {
         Person.find(function(err, persons) {
            debugger;
            if (err)
                res.send(err);

            res.json(persons);
        });
    });
以下是模式:

data/item.js
在启动Web服务器之前,我正在运行mongod。当我到达.save或.find调用时,不会抛出任何错误,但不会命中回调

我会这样连接:

mongoose.connect("mongodb://localhost/persondb");

var db = mongoose.connection;
使用
mongoose.createConnection(

如果使用createConnection,如果包含注册模型,则需要始终引用该连接变量,否则如果使用mongoose加载模型,它将永远不会与数据库通信

另一种解决方案是简单地使用mongoose.connect而不是 mongoose.createConnection.然后您就可以使用 model('MyModel')加载请求的模型而不需要 携带db连接变量


我想这样连接:

mongoose.connect("mongodb://localhost/persondb");

var db = mongoose.connection;
使用
mongoose.createConnection(

如果使用createConnection,如果包含注册模型,则需要始终引用该连接变量,否则如果使用mongoose加载模型,它将永远不会与数据库通信

另一种解决方案是简单地使用mongoose.connect而不是 mongoose.createConnection.然后您就可以使用 model('MyModel')加载请求的模型而不需要 携带db连接变量


在帖子中执行console.log(req.body)时会发生什么?您是否获得name属性的值?@jackblank是的,我有。+++参考,执行console.log(req.body)时会发生什么在你的帖子中?你得到name属性的值了吗?@jackblank是的,我得到了。+++reference,成功了…我确实读了那个线程,但显然没有进行正确的更新。connect。谢谢!!成功了…我确实读了那个线程,但显然没有进行正确的更新。connect。谢谢!!