javascript - Meteor User table value axtracting -


how pick email address value meteor mongo user table?

i have written below query pick element:

users=meteor.users.find({},{emails:1}) 

this code have written fetch email address, don't know how it's affecting performance in code:

users = meteor.users.find({}) users.foreach(function(key,option){     key.emails.foreach(function (key,option){         console.log(key.address)     }); }); 

in meteor, should call:

users = meteor.users.find({}, { fields: { emails: 1 } }) 

reference in docs

edit

please remember users cursor object. cursor objects can handled directly in templates, , must return of publications. can't iterate cursor directly in javascript loop.

example: (remember authorization in production publications)

meteor.publish('user-emails', function() {     return meteor.users.find({}, { fields: { emails: 1 } }); }); 

if want directly access user instances, example iterate them in javascript code, need fetch cursor (reference in docs).

example:

var users = meteor.users.find({}, { fields: { emails: 1 } }).fetch(); 

now users array of users. feel free iterate them.

example (i'm using underscore.js):

var users = meteor.users.find({}, { fields: { emails: 1 } }).fetch(); _.each(users, function(user) {     console.log(user.emails); }); 

now, if need vector emails, 1 on each index, can pluck emails fetched array underscore.js (reference of pluck)

var emails = _.pluck(meteor.users.find({}, { fields: { emails: 1 } }).fetch(), 'emails'); 

hope works :)


Comments