Node.js Mongo模型没有响应
我正在开发一个新的应用程序,并试图在本地为mongo设置存储。我的api端点受到攻击,但只要我尝试实际调用db操作(查找或保存),它就没有响应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
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。谢谢!!