$concat (Concatenate Strings)
Last updated: 2026-10-09
$concat (Concatenate Strings)
$concat joins two or more strings (or expressions resolving to strings) into one string. It is the most common string operator in aggregation expressions, used for combining names, building addresses, or constructing output labels. If any argument is null or missing, $concat returns null.
| Category | String |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
{ $concat: [ <expression1>, <expression2>, ... ] }
⚙️ Parameters
| expression | Strings or expressions resolving to strings; at least two. |
|---|
Returns:The concatenated string; null if any argument is null
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// $concat: join first and last name
db.users.aggregate([
{ $project: {
fullName: { $concat: [ "$firstName", " ", "$lastName" ] }
} }
])
Output:
{ "_id": 1, "fullName": "Alice Johnson" }
{ "_id": 2, "fullName": "Bob Smith" }
📌 Notes
- Any null/missing argument yields null (guard with $ifNull)
- $concat accepts strings only; convert numbers with $toString first
- Empty string "" is a valid argument and does not yield null
🏷️ Related Tags
💡 Related Cases
More hands-on cases coming soon.
📚 Related Tutorials
❓ FAQ
QCan $concat join numbers?
ANot directly — it throws. Convert numbers to strings with $toString or $convert first.
QWhat happens if a field is null or missing when concatenating?
AIf any operand is null or missing, $concat returns null (no error, no skip). Wrap operands with $ifNull to provide fallbacks.
QCan $concat join arrays?
ANo. $concat only accepts strings; use $concatArrays for arrays and $mergeObjects for objects.