2011-06-15 25 views
-1

嗨有:我是Node.JS,MongoDB和Mongoose的新手,所以請原諒我,如果我的問題是天真的。MongoDB/NodeJS - 數據插入不自動遞增Object_ID

我已經寫了一小段代碼,用於異步地將數據從表單發送到數據庫,然後顯示回客戶端。

插入是有用的工作。每次執行表單提交時,我的數據都會插入到數據庫中,但每次都使用相同的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, 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); 
+0

這裏是一個演示這顯示了基本的添加,編輯,刪除,更新功能http://goo.gl/HlbXE – Madhusudhan 2011-06-15 22:08:54

回答

1

你的消息實例是全球性的,所以你沒有創造新的消息。你需要做var message = new Message();在根郵件功能裏面。

0

剛過var Schema = mongoose.Schema,我想你會需要這個var ObjectId = Schema.ObjectId;