0
async function deleteSingleUser(username, company) {

    let deleted = false;

    const result = User.deleteOne({ username: username, company: company }).exec()
    result.then((x) => {

        if (x.deletedCount > 0) {
            console.log('User deleted', x.deletedCount);
            deleted = true;

        } else {
            console.log('User Deletion Failed', x.deletedCount);
            deleted = false;
        }

    });

    return deleted;
}

This code is executing as it should using mongoose deleteOne(). The user gets deleted and the console shows 'User deleted'.

However the ( let deleted = false ) remains[always] false and the async function returns false. i.e [deleted = true] is not working.

I cannot figure it out, I appreciate some help. Thanks

  • 1
    don't use `.then` in an `async` function ... use `await` - e.g. `const x = await User.deleteOne` and remove `result.then` just have that code inline - https://pastebin.com/pBnTtqKH – Jaromanda X Jun 22 '23 at 10:38

0 Answers0