MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Sovrascrivi l'oggetto in mongodb

Credo che il tuo problema derivi da questa riga:[field]: object . Non credo che sia un metodo corretto per accedere dinamicamente al campo di un oggetto. Prova invece ad aggiornare dinamicamente il campo in questo modo:

'updateOneWorkflow': function(id, field, object) {
    this.unblock;
    if (Meteor.userId()) {
        var _username = Meteor.user().username;
        var newObj = {
            "metadata": {
                "last_modified_dt": new Date(),
                "modified_by": Meteor.userId(),
                "modified_by_username": _username
            }
        };
        newObj[field] = object;
        MYCOLLECTION.update({
            _id: id
        }, {
            $set: newObj
        });
    } else {
        throw new Meteor.Error(403, "You are not authorized to perform this function");
    }
}