2

私はスキーマを持っています:

// Schema
var Product = new Schema({
  data: {
    type: mongoose.Schema.Types.Mixed
  },
  created: {
    type: Date,
    'default' : Date.now
  }
});

「データ」フィールドは、変化する json 文字列を格納するために使用されます。ただし、長さなどの基本的な検証を実行したいのですが、これを行うと:

// Validation
Product.path('data').validate(function (value) {
  console.log(value);
  return value.length > 0;
}, 'Data cannot be blank');

データが存在しないというエラーをスローします。

TypeError: Cannot read property 'length' of undefined

これを行う最善の方法は何ですか?

4

1 に答える 1

3

「値」が実際にあるかどうかを確認せずにオブジェクトとして扱っています。これを試してください:

if(typeof value !== "undefined" && value !== null)
{
  return value.length > 0
}
于 2013-05-02T01:26:14.917 に答える