私はあなたが「アップサート」と呼ばれて探しているものだと思います。
あなたはfindOneAndUpdateを使用し、{UPSERT:真}渡すことによってこれを行うことができ、オプションを以下の例のようなもの:
let campaign = new Campaign({
title: req.body.title,
market: req.body.market,
logo: req.body.logo,
additional_question_information: question,
status: status
});
Campaign.findOneAndUpdate({
_id: mongoose.Types.ObjectId('CAMPAIGN ID TO SEARCH FOR')
}, campaign, { upsert: true }, function(err, res) {
// Deal with the response data/error
});
をfindOneAndUpdateへの最初のパラメータは、あなたが保存しているかどうかを確認するために使用したクエリです新しい文書または既存の文書を更新する。変更した文書を応答データに戻す場合は、{ new: true }
オプションを追加することもできます。 findOneAndUpdateはこちら
ドキュメント:http://mongoosejs.com/docs/api.html#model_Model.findOneAndUpdate
あなたの質問は何ですか?あなたがしていることは正しいです。 – itsundefined
申し訳ありませんが、私は全く明確ではありませんでした。 文書が存在しない場合は保存します。既存の文書を新しいデータで更新します。 マングースでそれを行う方法はありますか?それはいいと思われる – Ollie
[Mongooseでドキュメントを更新/アップセットするにはどうすればいいですか?](https://stackoverflow.com/questions/7267102/how-do-i-update-upsert-a-document -in-mongoose?) –