Hi,
I have this Cloud Function to get User and their related Role data, but i donât het the UID column send to requesterâŚ
Server: https://1bxtbthptjkt.moralis.io:2053/server
Moralis.Cloud.define("getAllUsersRoles", async (request) => {
const logger = Moralis.Cloud.getLogger();
const queryUsers = new Moralis.Query(Moralis.User);
queryUsers.select("uid", "username", "email", "avatar", "ethAddress");
const queryUsersResults = await queryUsers.find({useMasterKey:true});
logger.info("Users: " +JSON.stringify(queryUsersResults) );
const results = [];
let queryRoles, roles, queryRolesResults;
for (let i = 0; i < queryUsersResults.length; ++i) {
//logger.info("User: " + JSON.stringify(queryUsersResults[i]) );
//logger.info("User: " + queryUsersResults[i].attributes.uid);
queryRoles = new Moralis.Query(Moralis.Role);
queryRoles.select("name");
queryRoles.equalTo("users", queryUsersResults[i]);
queryRolesResults = await queryRoles.find();
roles = [];
if (queryRolesResults.length > 0) {
for (let j = 0; j < queryRolesResults.length; j++) {
//logger.info("Roles: " +JSON.stringify(queryRolesResults[j]) );
roles.push(queryRolesResults[j].attributes.name);
}
}
results.push({
"userid": queryUsersResults[i].attributes.uid,
"username": queryUsersResults[i].attributes.username,
"email": queryUsersResults[i].attributes.email,
"avatar": queryUsersResults[i].attributes.avatar,
"ethAddress": queryUsersResults[i].attributes.ethAddress,
"roles": roles.join(",")
});
}
return results;
});
Output in Dashboard log-Info:
=> Here it is as âobjectIdâ:âM7FC1EmtVPGBjCf8KUivaIbbâ at end of a ârowâ available. I know (mongoDB) that is to be read as âuidâ.
But even: âuseridâ: queryUsersResults[i].attributes.objectId, does not show userid in output.
Output in browser Console:
So: âuseridâ field is not present in returned output, other fields do.
Why??