mongodB only partially upsert?

var details is mongodB cursor object
var key = 'start_status'
var txt = 'TEMP'
var count = 1

async function genericStatusCodeUpsert(details, key, txt, count) {
    var obj = {};
    obj[key] = txt;

var promise = await new Promise(function (resolve, reject) {
    FutureTasks.upsert({
            number: details.number,
            userid: details.userid,
         }, {
            $set: {
                obj,
                count: count,
            }
        },
        {
            multi: true,
        }

        , (err, db) => {
            err ? reject(err) : resolve(db);
        }
    );
});
return promise;
}

Not sure why only count got updated in MongodB but no update on start_status when I expect both start_status as well as count to update?