I made an account update with NodeJS and I want it to return for me the new updated values, because I need it on the client side. It consol logs undefined in jOk for the key values. What am I am doing wrong?
user.updateAccount = (jUserData, fCallback) => {
var jUser = {
userName: jUserData.txtEditAccountEmailorPhoneNumber,
firstName: jUserData.txtEditAccountName,
lastName: jUserData.txtEditAccountLastName,
password: jUserData.txtEditAccountPassword,
image: global.sUpdateUserImagePath
}
var userObjectId = global.mongoId(jUserData.txtEditAccountId)
global.db.collection('users').updateOne({ "_id": userObjectId }, { $set: jUser }, (err, jResult) => {
if (err) {
var jError = { "status": "error", "message": "ERROR -> updateAccount -> user.js -> 001" }
return fCallback(false, jError)
}
var jUserId = jResult._id
var jNewUserRole = jResult.userRole
var jNewUserName = jResult.userName
var jNewUserFirstName = jResult.firstName
var jNewUserLastName = jResult.lastName
var jNewUserImage = jResult.image
var jOk = {
"status": "ok",
"message": "user.js -> account updated -> 000",
_id: jUserId,
userRole: jNewUserRole,
userName: jNewUserName,
firstName: jNewUserFirstName,
lastName: jNewUserLastName,
image: jNewUserImage,
}
return fCallback(false, jOk)
})
}
My users table´s document structure in the db:
{
"_id" : ObjectId("5a1a627f942bca5149ab3f25"),
"userRole" : "admin",
"userName" : "b@b.dk",
"firstName" : "B",
"lastName" : "B",
"password" : "2",
"image" : "public/img_webshop/fileUserImage-1511710009148.png"
}
Update with findOneAndUpdate(), where I added returnNewDocument: true. Still returns undefined. What am I doing wrong?
user.updateAccount = (jUserData, fCallback) => {
var jUser = {
userName: jUserData.txtEditAccountEmailorPhoneNumber,
firstName: jUserData.txtEditAccountName,
lastName: jUserData.txtEditAccountLastName,
password: jUserData.txtEditAccountPassword,
image: global.sUpdateUserImagePath
}
var userObjectId = global.mongoId(jUserData.txtEditAccountId)
global.db.collection('users').findOneAndUpdate({ "_id": userObjectId }, { $set: jUser }, { returnNewDocument: true }, (err, jResult) => {
if (err) {
var jError = { "status": "error", "message": "ERROR -> updateAccount -> user.js -> 001" }
return fCallback(false, jError)
}
var jUserId = jResult._id
var jNewUserRole = jResult.userRole
var jNewUserName = jResult.userName
var jNewUserFirstName = jResult.firstName
var jNewUserLastName = jResult.lastName
var jNewUserImage = jResult.image
var jOk = {
"status": "ok",
"message": "user.js -> account updated -> 000",
_id: jUserId,
userRole: jNewUserRole,
userName: jNewUserName,
firstName: jNewUserFirstName,
lastName: jNewUserLastName,
image: jNewUserImage,
}
return fCallback(false, jOk)
})
}