以下のコードでは、Webフォームから10桁の数字が渡された場合にのみ、二次電話番号を更新したい場合は、他の電話番号を挿入操作中に使用します。mongodbの更新中に条件を追加するには
以下のコードを修正して条件付きデータベース更新を実現するのに役立つものがありますか?
hotelModel.findOneAndUpdate({ "name": req.body['hotelName'], "contact.postalCode": parseInt(req.body['postalCode']) },
{
$set: {
"contact.primaryContactNumber" : parseInt(req.body['primaryContactNumber']),
if (req.body['secondaryContactNumber'].toString().trim().length == 10) {
"hotelSchema.contact.secondaryContactNumber: : parseInt(req.body['secondaryContactNumber'])
}else{
"contact.primaryContactNumber" : //How to add existing Secondary phone number?
}
}
}, { new: true },
function (err, doc) {}
私はよく分かりません。ユーザーが有効な番号を入力しなかった場合、何をしたいですか? 「挿入操作中に2番目の電話番号に既に挿入されている電話番号を使用したいのですが、「contact.secondaryContactNumber」のように聞こえます。何も変更する必要はありません。 –
私の質問をシンプルにしましょう.req.body ['secondaryContactNumber']がウェブuiからヌルとして渡されたときにsecondaryContactNumberの更新をスキップしますか?GUIのsecondaryContactNumberはオプションのフィールドです。私は更新ロジックを書く必要があります。そうすれば、ユーザが二次電話番号をGUIに提供していれば、二次電話番号の更新をスキップするだけです。 –