Your query is also not optimal.
As I wrote on your SO question, you should do something like this:
User.find({
// setup query
username: {$in: req.user.followed_users}
},
{
// setup fields to return
username: true,
profilepic: true,
userbio: true
},
// callback
function (err, followedUsers) {
res.json(followedUsers); // or render or whatever.
});
},
On Saturday, March 14, 2015 at 3:15:26 PM UTC+1, Aryak Sengupta wrote:
>
> Hi Angel,
>
> Thanks for your reply.I resolved it. What you mentioned in the end is
> absolutely true.
>
>
> *"Understanding callbacks/async is the price to pay to live at Node.js
> paradise ;-"*
> I want to dive in deeper to async callbacks. Can you refer me some
> resources which will help me to grasp the concept properly.
>
> Thanks again.
>
>
>
> On Sat, Mar 14, 2015 at 7:09 PM, Angel Java Lopez <[email protected]
> <javascript:>> wrote:
>
>> Hi!
>>
>> I didn't run this code, but maybe is a solution
>>
>> router.get('/account',isAuthenticated, function(req,res){
>> var following_users_details = [];
>> var i = 0;
>>
>> getOneUser();
>>
>> function getOneUser() {
>>
>> var following_user = req.user.following_users[i++];
>>
>> if (!following_user) {
>> res.render('users/userAccount',{user:req.user,
>> following_users_details:following_users_details });
>> return;
>> }
>>
>> User.findOne({'username' : following_user },
>> function(err,user)
>> {
>> if (!err)
>> following_users_details.push({
>> username: user.username,
>> profilepic : user.photo,
>> userbio : user.bio
>> });
>>
>> setTimeout(getOneUser, 0);
>> });
>> }
>> });
>>
>> The original code returned a result BEFORE the find one user executes the
>> callback.
>>
>> The above code retrieves one user, and then, in the callback, invoke the
>> same function to retrieve another user. It should be better solutions, but
>> I hope this code works.
>>
>> Understanding callbacks/async is the price to pay to live at Node.js
>> paradise ;-)
>>
>> Angel "Java" Lopez
>> @ajlopez
>>
>>
>> On Sat, Mar 14, 2015 at 6:55 AM, Aryak Sengupta <[email protected]
>> <javascript:>> wrote:
>>
>>> *I am trying to create an array of Key-Value pairs dynamically with a
>>> document from a MongoDB database .*
>>>
>>> I have posted my question on Stack Overflow but still I can't figure out
>>> where I am going wrong. This is my question ->
>>>
>>> *Creating an array of key-value pairs(fetched from a mongoDB database)
>>> dynamically*
>>> <http://stackoverflow.com/questions/29047069/creating-an-array-of-key-value-pairsfetched-from-a-mongodb-database-dynamicall>
>>>
>>> Any help will be appreciated,
>>> Thank You.
>>>
>>> --
>>> Job board: http://jobs.nodejs.org/
>>> New group rules:
>>> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
>>> Old group rules:
>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "nodejs" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected] <javascript:>.
>>> To post to this group, send email to [email protected]
>>> <javascript:>.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/nodejs/CALTbq1w%2B5Wz-RWmtSWADc%3Dn%2BF9tP4aYOqs-_S%3D7jbeBaawerKg%40mail.gmail.com
>>>
>>> <https://groups.google.com/d/msgid/nodejs/CALTbq1w%2B5Wz-RWmtSWADc%3Dn%2BF9tP4aYOqs-_S%3D7jbeBaawerKg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> Job board: http://jobs.nodejs.org/
>> New group rules:
>> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
>> Old group rules:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/nodejs/CAMs%2BDqK0HCDGPPwt7G4mGXjdtnrRGyhqooQC6P2FhGvMD3YFew%40mail.gmail.com
>>
>> <https://groups.google.com/d/msgid/nodejs/CAMs%2BDqK0HCDGPPwt7G4mGXjdtnrRGyhqooQC6P2FhGvMD3YFew%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
Job board: http://jobs.nodejs.org/
New group rules:
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/nodejs/ed412464-5391-4470-9710-5a695b4b0312%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.