Привет! Я новичок в Node.JS, MongoDB и Mongoose, поэтому, пожалуйста, прости меня, если мои вопросы наивны.
Я написал небольшой кусочек кода для асинхронной отправки данных из формы в базу данных и их последующего отображения на клиенте.
Вставки вроде рабочие.Каждый раз, когда я выполняю отправку формы, мои данные вставляются в БД, но каждый раз используются один и тот же ObjectID, что означает, что приращения по идентификатору документа не выполняются.
Есть ли что-то, что я делаю не так?Должен ли я вручную увеличивать 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, index: { unique:true}},
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('/', function(req,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);