0
我是api創作的新手。 Iam試圖創建一個mongodb的入口。數據庫連接即時完成。我寫了下面的代碼來輸入數據到mongo數據庫中。無法將模型添加到mongo數據庫。
// Node Module dependencies
var express = require('express');
var router = express.Router();
// Local Module dependencies
var common = require('./common.js');
//var request = require('request');
//common.autoIncrement.initialize(common.conn);
//---------------Schema Definitions---------------------//
var userSchema = common.Schema({
_id: common.Schema.Types.ObjectId,
user_name: String,
gender: {
type: String,
enum: ['male', 'female'],
default: 'male'
},
contact: Number,
profile_pic: String,
address: String,
role: String,
dob: {
type: Date,
default: Date.now
},
collage_name: String,
course: String,
college_roll: String,
specialization: String
});
var User = common.conn.model('User', userSchema);
router.route('/')
.post(function (req, res, next) {
console.log(req.body);
var item = new User(req.body);
//========calling postModel method===============
postUser(item, function (result) {
res.send(result);
});
});
module.exports = router;
//========postModel method============//
function postUser(item, fn) {
item.save(function (err) {
if (err) console.log(err);
console.log('user:', item);
fn(item);
})
}
但事情是數據庫沒有得到更新,我找不到錯誤是什麼。這是我得到的輸出,而我嘗試將一些數據放入使用郵遞員的數據庫中。
db connection established to medicoshere database
{ dob: '2016-08-21T02:37:11.969Z',
gender: 'male',
user_name: 'ria nivas' }
Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html
[Error: document must have an _id before saving]
user: { user_name: 'ria nivas',
dob: Sun Aug 21 2016 08:07:11 GMT+0530 (IST),
gender: 'male' }
POST /register 200 67.420 ms - 74
,但我看不出有任何內容更新到輸出的我db.The第一線使用
app.db.once('open', function() {
console.log('db connection established to medicoshere database ');
未登錄的狀態還有什麼我需要做更新我的數據庫。 謝謝。
我認爲你不需要在你的模型中聲明_id。如果你添加它,你應該自己生成它。看看這個:http://stackoverflow.com/questions/25345274/mongoose-data-saving-without-id – kakashi
感謝它的工作.....我還有一個問題....如何避免此警告.. 。Mongoose:mpromise(mongoose的默認承諾庫)已被棄用,請插入自己的承諾庫:http://mongoosejs.com/docs/promises.html –
您可以使用@Aron提及的方式。 'mongoose.Promise = global.Promise'就夠了。 – kakashi