4

以下是我的架构:

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 文档,但在验证部分找不到任何内容。

4

1 回答 1

1

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

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

如果是,请尝试console.log(youVariable.username)查看它是否显示undefined或 value foo。如果您看到undefined,则说明您的对象未正确解析。

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

于 2013-09-07T05:21:06.363 回答