node.js - Getting a list/array of users using Mongoose populate -


i'm trying display list of user display names on 1 of webpages doing simple http request.

in users.server.controller.js file have function:

exports.list = function(req, res) {      user.find().populate('displayname').exec(function(err, users) {         console.log(users);         if (err) {             return res.status(400).send({                 message: errorhandler.geterrormessage(err)             });         } else {             res.jsonp(users);         }     }); }; 

when call function $http.get() request angularjs controller get 400 error.

here mongoose user schema

/**  * user schema  */ var userschema = new schema({     firstname: {         type: string,         trim: true,         default: '',         validate: [validatelocalstrategyproperty, 'please fill in first name']     },     lastname: {         type: string,         trim: true,         default: '',         validate: [validatelocalstrategyproperty, 'please fill in last name']     },     organization: {         type: string,         trim: true,         default: '',         required: 'please fill in organization name'     },     position: {         type: string,         trim: true,         default: '',         required: 'please fill in title of position'     },     displayname: {         type: string,         trim: true     },     email: {         type: string,         trim: true,         default: '',         validate: [validatelocalstrategyproperty, 'please fill in email'],         match: [/.+\@.+\..+/, 'please fill valid email address']     },     username: {         type: string,         unique: 'testing error message',         required: 'please fill in username',         trim: true     },     password: {         type: string,         default: '',         validate: [validatelocalstrategypassword, 'password should longer']     },     salt: {         type: string     },     provider: {         type: string,         required: 'provider required'     },     providerdata: {},     additionalprovidersdata: {},     roles: {         type: [{             type: string,             enum: ['user', 'admin']         }],         default: ['user']     },     updated: {         type: date     },     created: {         type: date,         default: date.now     },     /* reset password */     resetpasswordtoken: {         type: string     },     resetpasswordexpires: {         type: date     } }); 

it seems confuse between populate , select. populate used when have reference external schema owner : { type: schema.objectid, ref: 'user' }. if want display owner fields, need call populate('owner') load user. need call .select("displayname") in order retrieve displayname in result.


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -