【发布时间】:2017-06-26 07:51:50
【问题描述】:
我创建了一个成功保存到 Mongo 集合的 Mongoose“成本”对象。在 Costs 对象的 Mongoose 模式中,我为每一列指定了类型:
'use strict';
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var crypto = require('crypto');
var CostsSchema = new Schema({
property_hash:String,
month: Number,
year: Number,
spend: Number,
updated_by: String,
channel: String,
source: String,
updated: Date
});
mongoose.model('Costs', CostsSchema);
但是当我调用 Costs.collection.insert() 并传递一个对象数组并将所有属性设置为字符串时,它们会毫无错误地保存到 Mongo。
成功保存的无效对象示例:
{ channel: "websites",
month: "I should be an integer",
property_hash: "1234566",
source: "trade",
spend: "I am an invalid integer",
updated: "I am an invalid date",
updated_by: "fred",
year: "Invalid year" }
【问题讨论】:
-
您需要在运行插入命令之前验证您的插入。 mongoosejs.com/docs/validation.html
标签: node.js mongodb mongoose mongoose-schema