mongoコレクション内の特定のドキュメントセットを削除して新しいレコードを挿入したい場合は、挿入が失敗した場合に削除をロールバックします。基本的には、どちらかまたはなしです。誰かがこれに最善のアプローチを知っています。私はmongooseとnodejsを使用しています。Mongoose/MongoDB - 1つのトランザクションとして削除して挿入する
1
A
答えて
0
私はいくつかのレコードにフラグをtrueに設定し、その後、「隠れた」フラグを追加したい[挿入の失敗または成功に応じて、新しいものが隠されたオブジェクトを削除するか、または
1
は約束を使用してみてください、それらを再表示挿入します。 isDeletedのようにスキーマにフィールドをもう1つ挿入します。いくつかの文書を削除すると、それを真にして、削除の約束をうながして、文書が正常に挿入された場合は、そのレコードを永久に削除します。この
db.collection.findOneAndUpdate(query)
.exec()
.then(
// write your insert logic here
db.collection.insert(query)
.exec()
.then()
.catch(
//if anything goes wrong set isDeleted
//to false again.
)
)
.catch()
同様
関連する問題
- 1. 1つのトランザクションでCypher文を削除して作成する
- 2. Mysqlは挿入と削除を1つにトリガしますか?
- 3. NHibernate:コレクションを削除して再挿入
- 4. トランザクション内に挿入した後に削除
- 5. 切り捨て、1つのトランザクションに挿入MySQL
- 6. エンティティフレームワーク同じトランザクション中に挿入、更新、削除する
- 7. クロムエクステンションのブラウザアクションにポップアップを挿入してCSSを挿入/削除する
- 8. ナビゲータなしで行を削除して挿入する方法
- 9. レコードの削除と挿入の両方を同じトランザクションで実行していますか?
- 10. 大量のデータを1つのトランザクションに挿入する
- 11. 関連するデータをデータベースに挿入して削除する
- 12. Redis - 文字列を1つずつ挿入して一度に削除するデータ構造
- 13. RDBM - 1対1 - エントリが存在するかどうかをチェックして挿入/更新するか、常に削除して挿入するだけですか?
- 14. Entity Frameworkを使用して1つのストアドプロシージャでクエリを挿入、更新、削除します
- 15. 挿入前と削除後
- 16. Postgres:挿入と削除
- 17. Froalaテキストエディタでカスタムhtmlタグを挿入して削除する
- 18. 挿入ソートを使用して重複を削除する
- 19. IntelliJ Idea Ultimateでラインを削除して挿入する
- 20. ノードの移動、挿入、削除についての質問
- 21. whileループでajaxを使用してデータベースに挿入して削除する
- 22. 削除と挿入を使用してベクトル内の要素を置換する
- 23. 1つのクエリで挿入して更新する
- 24. 削除挿入バー
- 25. データが存在する場合はデータを削除して挿入し、1日が存在しない場合はデータを挿入してください
- 26. 2つの挿入、2つのテーブル、1つのPDOトランザクション、2つのSQL結果
- 27. 1つを除いて重複レコードを削除します
- 28. jquery ".off"を使用して1つのイベントハンドラを削除する
- 29. オブジェクト内のレコードを1つ更新して削除する
- 30. レコードが挿入され、同じレコードが同じトランザクションで削除された場合、そのレコードは挿入としてカウントされますか?