I would like to retrieve an array from my mongodb collection, and before sending it back to the client, work with it. My desired outcome would be the following:
- Get array from collection_A
- Do the desired work with the array I just got, by having another mongodb query
- Pass the array back to the client
My current code looks like this:
                db.collection("collection")
                .find()
                .toArray()
                .then((arr) => {
                    arr.forEach(cur => {
                        db.collection("another-collection")
                            .count({key: cur.prop})
                            .then((retrieved) => {
                                cur.prop = retrieved; //The amount of count one live above
                                //This part runs later than the res.success below
                            })
                            .catch((err: any) => {
                                //Handle error
                            });
                    });
                    return arr;
                })
                .then(arr => {
                    res.success(arr);
                })
                .catch((err) => {
                    //Handle error
                });
At the moment, the work I want to do with the retrieved array happens after res.success(), so on the client I will get the original array.
Why is that so?
 
    