Tuesday, November 10, 2020

Mongo DB - Combine results of two queries

db.col.aggregate([

 {

  $match: 

  {

   $or: [

    {doc_type:'item', item_id : 1001 },

    {doc_type:'company', name: 'Acer'}

   ]

  }

 },

 {

  $group: 

  {

   _id: null,

   "company_name": {$max: "$name"},

   "company_type": {$max: "$type"},

   "company_helpline": {$max: "$helpline"},

   "item_price": {$max: "$price"},

   "item_discount": {$max: "$discount"}

  }

 },

 {

  $project: 

  {

   _id: 0,

   'company' : {

    'name': '$company_name',

    'type': '$company_type',

    'helpline': '$company_helpline',

   },

   'item' : {

    'price': '$item_price',

    'discount': '$item_discount'

   }

  }

 }

]).pretty()




{

        "company" : {

                "name" : "Acer",

                "type" : "Laptops",

                "helpline" : "1800-200-000"

        },

        "item" : {

                "price" : 2000,

                "discount" : 20

        }

}

references:

https://stackoverflow.com/questions/42128733/combine-2-separate-results-mongo-db


No comments:

Post a Comment