为什么我不能插入数据到 monogdb 中???求解

2015-08-28 08:33:27 +08:00
 martin823823

/**
* Module dependencies.
*/

var express = require ('express'),
routes = require ('./routes'),
http = require ('http'),
path = require ('path'),
mongoose = require ('mongoose');

var app = express ();
var db =mongoose.createConnection ('mongodb://localhost/todoo');

var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;

var Task = new Schema ({
task: {type:String}
});

var Task = db.model ('Task', Task );

// all environments

app.set ('view engine', 'jade');

app.get ('/tasks', function (req, res ){
Task.find ({}, function (err, docs ) {
res.render ('tasks/index', {
title: 'Todos index view',
docs: docs
});
});
});

app.get ('/tasks/new', function (req, res ){
res.render ('tasks/new.jade', {
title: 'New Task'
});
});
app.post ('/tasks',function (req, res ){
var task = new Task (req.body );
console.log (req.body );
task.save ({},function (err ) {
if (!err ) {
res.redirect ('/tasks');
}
else {
res.redirect ('/tasks/new');
}
});
});

app.listen (3000,function (err ){
if (err ){
console.log (err );
return err;
}
});
console.log ('the project run 3000');

2193 次点击
所在节点    问与答
14 条回复
lucker6666
2015-08-28 08:45:56 +08:00
3.0 or 2.x?

啥都不说清楚
martin823823
2015-08-28 08:49:36 +08:00
这个是什么?本人新手,求指教
snachx
2015-08-28 09:19:26 +08:00
@martin823823 一楼问你 mongodb 的版本是 3.0 还是 2.x
ChanneW
2015-08-28 09:26:35 +08:00
console.log (req.body ); 打出来的东西对么?
ariestiger
2015-08-28 09:31:25 +08:00
因为你不硬, 因为 mongodb 不湿
faceair
2015-08-28 09:42:08 +08:00
目测是没加 body-parser 中间件 参考 https://github.com/expressjs/body-parser
martin823823
2015-08-28 10:20:18 +08:00
3.0 的
martin823823
2015-08-28 10:22:36 +08:00
@ChanneW 它原来是 req.body.task 但不行,报错
martin823823
2015-08-28 10:26:30 +08:00
@ChanneW Cannot read property 'task' of undefined 报这个错
EPr2hh6LADQWqRVH
2015-08-28 10:33:54 +08:00
6L 正解, req.body 不是凭空出现的,你没装那个中间件
martin823823
2015-08-28 11:29:32 +08:00
嗯 现在安装了 但输入的内容在控制台上显示 undefined , 页面也不跳转
martin823823
2015-08-28 11:30:54 +08:00
最后页面显示,未收到数据
plantain
2015-08-28 12:07:35 +08:00
安装之后用了没有?
// parse application/x-www-form-urlencoded
app.use (bodyParser.urlencoded ({ extended: false }))

// parse application/json
app.use (bodyParser.json ())
martin823823
2015-08-28 12:30:55 +08:00
@plantain 嗯 正解 能在控制台显示了 为什么没有传导 mongodb 数据库中呢???

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/216581

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX