MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Remplacer l'objet dans mongodb

Je pense que votre problème provient de cette ligne :[field]: object . Je ne crois pas que ce soit une méthode appropriée pour accéder dynamiquement au champ d'un objet. Au lieu de cela, essayez de mettre à jour dynamiquement le champ comme suit :

'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");
    }
}