最近、MEANスタックを使用して独自のRESTful APIを構築し始めました。ここまでは順調ですね。昨日、私はこのようになりますどのマングーススキーマを持っている...私が解決しようとしてきたが、何の成果は、今まで見られていない小さな問題へMongooseスキーマ、デフォルト値を持つネストされたオブジェクト
をぶつけ:
const hotelSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
stars: {
type: Number,
min: 0,
max: 5,
"default": 0
},
services: [String],
description: {
type: String,
"default": "No description"
},
photos: [String],
currency: {
type: String,
"default": "Not specified"
},
reviews: [reviewSchema],
rooms: [roomSchema],
location: {
address: {
type: String,
"default": "Not specified"
},
// Always store coordinates longitude E/W, latitude N/S order
coordinates: {
type: [Number],
index: '2dsphere'
}
}
});
そして、モデルインスタンスを作成する方法は次のとおりです。
Hotel
.create({
name: req.body.name,
description: req.body.description,
stars: parseInt(req.body.stars, 10),
services: _splitArray(req.body.services),
photos: _splitArray(req.body.photos),
currency: req.body.currency,
location: {
address: req.body.address,
coordinates:[
parseFloat(req.body.lng),
parseFloat(req.body.lat)
]
}
すべてが完璧で、小さなディテールで期待どおりに動作します。私はPOST要求を行うためにAdvanced Rest Clientを使用しています。なお、以下に見ることができます。
そして、これは私が応答として得るものです: Response from Rest Client
だから、問題は、私がアドレスを入力しない場合は、私が見てみたい、ということですスキーマに表示されるデフォルト値 - "指定されていない"残念ながら、私はこれを達成できません。
私を助けてもらえますか?
....コールバックで返されたオブジェクトはしかし完全ではない理由を見つけようとします。 –
"default"ではなくdefaultにしておきます –
これは試しても動作しません。とにかくありがとう –