2017-02-16 68 views
0

我在使用猫鼬保存到mongodb时遇到了困难。下面是我得到使用猫鼬创建mongodb时验证错误

应用已经抛出未捕获的异常而被终止的错误: ValidationError:pageModel验证失败

我的代码

//page.js 
var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var pageShema = new Schema({ 
    pageId: { 
     type: String, 
     required: true 
    }, 
    logo: { 
     type: String 
    }, 
    subline: { 
     type: String 
    }, 
    header: { 
     type: String 
    }, 
    created_on: { 
     type: Date, 
     default: Date.now 
    }, 
    offense:{ 
     type: Schema.Types.Mixed 
    }, 
    deffense:{ 
     type: Schema.Types.Mixed 
    } 
}); 

var pageModel = mongoose.model('pageModel', pageShema); 

module.exports = pageModel; 

app.js

var mongoose = require('mongoose'); 
var dbURL = config.dbURL; 
mongoose.connect(dbURL); 
var pagedb = require('./models/page'); 

var page = new pagedb({ 
    pageId: 'test', 
    logo:'test logo', 
    subline: 'test subline', 
    header: 'test header', 
    created_on: Date.now, 
    offense: {}, 
    deffense: {} 
}); 


page.save(function (err, page) { 
    if (err) { 
     console.log('error!'); 
     throw err; 
    }; 
    console.log('page is created!'); 
}); 

回答

0

由于日期字段而失败。使用new Date()而不是Date.now

var mongoose = require('mongoose'); 
var dbURL = config.dbURL; 
mongoose.connect(dbURL); 
var pagedb = require('./models/page'); 

var page = new pagedb({ 
    pageId: 'test', 
    logo:'test logo', 
    subline: 'test subline', 
    header: 'test header', 
    created_on: new Date(), 
    offense: {}, 
    deffense: {} 
}); 


page.save(function (err, page) { 
    if (err) { 
     console.log('error!'); 
     throw err; 
    }; 
    console.log('page is created!'); 
}); 
+0

谢谢路易斯!有效。 – inhaler