Use `$addToSet` to avoid duplicates.

Section: Arrays and positional updates

Append only if missing

javascript
javascript
db.users.updateOne({ _id: 1 }, { $addToSet: { tags: "beta" } })
Explanation

Great for tag or role arrays where uniqueness matters.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Arrays and positional updates
Append to an array
Push one item onto an array field.
OpenIn sheetjavascriptsame section
Remove array values
Delete matching values from an array.
OpenIn sheetjavascriptsame section
Update the first matching array element
Use the positional `$` operator.
OpenIn sheetjavascriptsame section
Target specific nested elements with arrayFilters
Update matching array elements with named filters.
OpenIn sheetjavascriptsame section
Increment a numeric field
Increase a counter with `$inc`.
OpenIn sheetjavascript1 tag match
Remove a field
Delete one or more fields from matched documents.
OpenIn sheetjavascript1 tag match