2016-07-05 12 views
1

私はnode.jsとRESTには一般的に新しいです。私のモデルは次のスキーマを持っています:node.jsとmongodbで1つのパラメータとして文字列配列をポストする

"properties": { 
    "name": { 
     "type": "string", 
     "description": "student name" 
    }, 
    "family": { 
     "type": "string", 
     "description": "family name" 
    }, 
    "subjects": { 
     "type": "array", 
     "description": "list of subjects taken", 
     "minItems": 1, 
     "items": { "type": "string" }, 
     "uniqueItems": true 
} 

最初の2つのプロパティは文字列であるため、まっすぐです。しかし、subjectsの配列を投稿する方法が混乱しています。私はこのようなモデルをコード化しました:

var mongoose  = require('mongoose'); 
var Schema  = mongoose.Schema; 

var StudentSchema = new Schema({ 
    name: String, 
    family: String, 
    subject: [String] 
}); 

module.exports = mongoose.model('Student', StudentSchema); 

私はそれが正しかったかどうかわかりません。私はPOSTMANを使ってPOSTしようとしたときにレコードを永続化しましたが、配列や文字列として格納されているかどうかはわかりません。それをどのように確認するのですか?永続化のために配列の長さが> 1でなければならないというバリデーションをどのように追加するのですか?

+0

robomongoなどのツールを使用してデータベース内のデータを検索してください。 –

答えて

1

まず検証一部

var StudentSchema = new Schema({ 
    name: String, 
    family: String, 
    subject: { 
       type: [String], 
       validate: [arrayLengthGreaterOne, '{PATH} size has to be > 1'] 
      } 
}); 

function arrayLengthGreaterOne(val) { 
    return val.length > 1; 
} 

あなたは何を意味するか「それが格納されていたのか分からないのですか?」

mongo自体でdb.find()で日付を検索しますが、構文が正常に表示されているので、正しく格納されていると思います。

+0

この "{PATH}サイズは1より大きい必要があります"というメッセージにアクセスするにはどうすればよいですか?私は異なるエラーのために異なるエラーメッセージを出したい – Vraj

関連する問題