1
我已经得到了Node.js服务器和Exressjs/Mongoose,我试图在文档中插入一些嵌入式文档。下面是代码:不能用Node.js和Mongoose插入到MongoDB
节点代码:
app.post('/addcomment/:id', function(request, response){ var sys = require('util') , mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); Schema = mongoose.Schema; var CommentSchema = new Schema({ descr: String }); var IssuesSchema = new Schema({ name: String, comment: [CommentSchema] }); mongoose.model('tasks', IssuesSchema); var Issues = mongoose.model('tasks'); var taskid = request.params.id; var user = "test"; var comment = request.param('descr'); Issues.findOne({_id: taskid}, function(err,item) { item.comment.push({descr:comment, posteddate: posteddate, user: user}); item.save(); response.writeHead(200,{"Content-Type": "text/plain"}); response.write(JSON.stringify(t)); response.end(); });
});
从用下面的代码一个jquery即时决策POST请求:
$.ajax({ type: 'POST', url: "http://myhost/addcomment/123", async: false, timeout: 5000, cache: false, data: { descr: $('#comment').val() } ,success: function(data){ console.log(data); ,error: function(){console.log("err")} });
当我使在节点控制台POST请求有错误:不能调用未定义的方法“推动” 。在Chrome的同一点,请求仍处于“挂起”状态。如果我再次启动服务器(甚至在10秒后)请求“到达”并且记录被插入,但是新会话和即时通讯无法获取用户名(这是我最初的想法)。 有人遇到过这种情况吗?
谢谢! Stefan
非常感谢! (我刚刚开始使用node/mongo/express,但仍然有很多东西对我来说是不清洁的) – 2012-01-11 14:39:23
很高兴能帮到你,可以在这里用Node和Mongoose签出一个真正的项目:https://github.com/alexyoung/nodepad它的教程在这里:http://dailyjs.com/tags.html#lmawa – alessioalex 2012-01-11 15:11:09