Home > Software engineering >  How to return property of all elements of array inside MongoDB document?
How to return property of all elements of array inside MongoDB document?

Time:07-16

I want to return the title and _id properties of each element in my trips array of a user's document. I am attempting to use the aggregate pipeline but its my first time and the docs are overwhelming. It seems like all the examples show how to find a single piece of data. I basically want to return something like


[
  {title: "one", _id: 123},
  {title: "two", _id: 456},
  {title: "three", _id: 789},
]

from my document that looks like:

enter image description here

Thank you in advance for any suggestions.

CodePudding user response:

You can use find({}) for getting your expected result. In find query, you need to use a projection stage.

Here the demo

Expected query

db.collection.find({},{_id:1,"trips.title":1,"trips._id":1});

I hope, it is helpful.

CodePudding user response:

function ObjArray(array){
    let newArr = [];
    array.foreach(
    (obj) => {
        let newobj = {title: '', id:''}
        newobj.title = obj.title;
        newobj.id = obj.id;
        newArr.append(newobj);
    }
    );
    return newArr;
}
  • Related