Why does the usernametoid function not return a real identifier? because I'm trying to send the result of userdata as a return. In this case, I only want to send the useridata _id attribute. but it does not seem to work.
console.log(userdata._id); // works return resolve(userdata._id); // wont work.
output of userdata variables:
{ cash: 7300002, bank: 0, xp: 0, rank: 1, points: 1, location: 1, health: 100, protection: 1, attack: 1, family: '0', password: 'jKa4qC7pRCgE5jvzD9Vv1pRUNxFlQEM7Jpq/IoJ/sUWOAv1Wx1RI/j/Vu6Zf8zyNkCFcg3QBtdfAC+lmPS8KIA==', profileImageURL: 'modules/users/client/img/profile/default.png', roles: [ 'user' ], created: Sat Aug 27 2016 12:33:55 GMT-0400 (EDT), __v: 0, username: 'signature', provider: 'local', salt: '4ySlrr9ggESxBB3dR5bx4Q==', _id: 57c1c0f3b6b20c011242bf22 }
when I do: `return resolve (userdata._id), it will get this error:
/server/factory/user_factory.js:52 return resolve(userdata._id); ^ TypeError: Cannot read property '_id' of null
node.js call:
var articles = require('../controllers/articles.server.controller'), path = require('path'), mongoose = require('mongoose'), Article = mongoose.model('Article'), Users = mongoose.model('User'), errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller')); var userFunc = require('../factory/user_factory.js'); app.post('/api/kill', function (req, res) { console.log("starting"); var username = "signature";//req.query.username; var result = ["test service"]; var data = req.user; userFunc.usernametoid(username).then( function (otherplayerid) { if (!(otherplayerid)) { console.log("other player is acually " + otherplayerid); result.push("denne brukeren finnes ikke! " + otherplayerid); } else { userFunc.usernametoid(otherplayerid).then( function (otherplayer) { if (data.location != otherplayer.location) { result.push("Du er ikke i samme lokasjon som " + username); result.push(data.location + " vs " + otherplayer.location); } else { userFunc.addCash(req.user._id,100000); result.push("starter lokasjonisering"); } }); } res.json(result); }); });
factory user:
var articles = require('../controllers/articles.server.controller'), path = require('path'), mongoose = require('mongoose'), Article = mongoose.model('Article'), Users = mongoose.model('User'), errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller')); exports.usernametoid = usernametoid; function usernametoid(id) { return new Promise( function (resolve, reject) { var query = Users.findOne( { username : id } );