$arrayToObject (Convert Array of Pairs to Object)
Last updated: 2026-10-09
$arrayToObject (Convert Array of Pairs to Object)
$arrayToObject converts an array of key-value pairs back into a document, the inverse of $objectToArray. The input accepts two shapes: an array of { k, v } objects, or an array of two-element arrays [ 'fieldName', value ]. Typical uses include reassembling dynamic fields after $objectToArray processing or packing grouped stats into an object. Keys must be strings; duplicate keys are overwritten by the later value.
| Category | Array |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
{ $arrayToObject: <array> }
⚙️ Parameters
| array | An array of { k, v } objects or of two-element arrays [ 'fieldName', value ]. |
|---|
Returns:The resulting document; null for an empty array or one containing null
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// $arrayToObject: convert a k/v array back to an object
db.users.aggregate([
{ $project: {
scoreObj: { $arrayToObject: '$scorePairs' }
} }
])
Output:
{ '_id': 1, 'scoreObj': { 'math': 90, 'eng': 85 } }
📌 Notes
- Keys must be strings; a duplicate key is overwritten by the later value
- An empty array or one containing null yields null
- The { k, v } and [ 'k', v ] shapes are equivalent and may be mixed
🏷️ Related Tags
💡 Related Cases
More hands-on cases coming soon.
📚 Related Tutorials
❓ FAQ
QWhat are the two input formats?
AAn array of { k, v } objects, or of [ 'fieldName', value ] pairs.
QWhat happens when k is not a string?
AIt throws — keys must be strings.
QHow are duplicate keys handled?
AThe later value overwrites the earlier one.