$setOnInsert

Reference type:Cheat sheetFormat:Syntax + example + use case

Reference group: Update operator families

What it does

Applies values only when an upsert inserts a new document.

Syntax

{$setOnInsert: { field: value }}

Use case

Initialize creation metadata.

$setOnInsert: practical example
db.settings.updateOne({ _id: "theme" }, { $set: { enabled: true }, $setOnInsert: { createdAt: new Date() } }, { upsert: true })
💡 Explanation Applies values only when an upsert inserts a new document. When to use it Initialize creation metadata.
Key Takeaways
  • Applies values only when an upsert inserts a new document.
  • Typical use: Initialize creation metadata.