如何解决MongoDB / NodeJS-数据插入不会自动增加Object_ID
|| 嗨,嗨:我是Node.JS,MongoDB和Mongoose的新手,所以如果我的问题很幼稚,请原谅我。 我编写了一些代码,以异步方式将数据从表单发送到数据库,然后在客户端上显示。 插件是一种工作。每次执行表单提交时,我的数据都会插入数据库中,但是每次都使用相同的ObjectID,这意味着文档ID不会增加。 我做错了什么吗?我应该手动增加ID还是使用其他方法来处理对象/插入/等。这些技术。 任何帮助深表感谢。谢谢。 码:// Launch express and server
var express = require(\'express\');
var app = express.createServer();
//connect to DB
var mongoose = require(\'mongoose\');
var db = mongoose.connect(\'mongodb://127.0.0.1/napkin_v1\');
//Configure Node w/ Dependencies
app.configure(function(){
app.set(\'views\',__dirname + \'/views\');
app.set(\'view engine\',\'jade\');
app.use(require(\"stylus\").middleware({
src: __dirname + \"/public\",dest: __dirname + \"/public\",compress: false
}));
app.use(express.bodyParser());
app.use(express.methodOverride());
//app.use(require(\'stylus\').middleware({ src: __dirname + \'/public\' }));
app.use(app.router);
app.use(express.static(__dirname + \'/public\'));
});
// Define Schema for Message
var Schema = mongoose.Schema;
var messageSchema = new Schema({
body: { type: String,index: { unique:true}},user: { type: String,dateCreated: Date,tags: String
});
mongoose.model(\'Message\',messageSchema);
var Message = mongoose.model(\'Message\');
//Insert First Message into DB
var message = new Message();
app.get(\'/\',function(req,res){
Message.find(function(error,docs){
res.render(\'layout.jade\',{
locals: {
title: \'Napkin v0.111\',messages: docs
}
});
})
})
app.post(\'/\',res){
message.user = req.param(\'user\');
message.body = req.param(\'body\');
message.save(function() {
res.redirect(\'/\');
});
});
//Launch Server
app.listen(3002);
console.log(\"Express server listening on port %d\",app.address().port);
解决方法
您的消息实例是全局的,因此您不会创建新消息。您需要执行var message = new Message();在根发布函数中。
,
var Schema = mongoose.Schema
之后,我想您会需要this2ѭ
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。