无法在Mongoose中保存文档 - 验证程序所需的路径错误失败

时间:2013-04-28 13:51:09

标签: mongodb mongoose

以下是我的架构:

var userSchema = new Schema({
    username: {
        type: String,
        required: true
    },
    password: {
        type: String,
        required: false
    }
});

现在,当我尝试保存上述架构的文档时,出现以下错误:

{ message: 'Validation failed',
  name: 'ValidationError',
  errors: 
   { username: 
      { message: 'Validator "required" failed for path username',
        name: 'ValidatorError',
        path: 'username',
        type: 'required' } } }

以上是mongoose在保存时返回的错误对象。我搜索了这个错误,但无法理解有什么问题。我想保存的文件如下:

{
username: "foo"
password: "bar"
}

知道这意味着什么吗?我也搜索了mongoose文档但在验证部分找不到任何内容。

1 个答案:

答案 0 :(得分:1)

首先,您在foo之后缺少逗号(,)。

现在,{ username: "foo", password: "bar" } JSON是通过http发送的,我们是服务器端代码中的实际对象吗?

如果是,请尝试console.log(youVariable.username),看看它是undefined还是价值foo。如果看到undefined,则表示您的对象未正确解析。

您可以确保发送POST请求的对象是在标头中发送“application / json”,您可能正在接收其他内容,因此您的JSON未被解析为有效的javascript对象。