Can somebody tell me please if is possible to use field value as key in mongodb result. If I have documents like
{'code': 'xxx', 'item': 'yyy'}
{'code': 'ooo', 'item': 'eee'}
I would like to get result where code value will be the key like
{'xxx': 'yyy'}, {'ooo': 'eee'}
You have to use $arrayToObject if you want to build your keys dynamically. It takes an array of k
and v
fields as a parameter. To make it root you can use $replaceRoot stage, try:
db.col.aggregate([
{
$replaceRoot: {
newRoot: { $arrayToObject: [ [ { k: "$code", v: "$item" } ] ]}
}
}
])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With