Il y a comme 5 opérateurs de mise à jour: inc $, renommage $, $ setOnInsert, ensemble de $, et $ unsetUtilisation d'Update MongoDB upsert
Lorsque vous effectuez une mise à jour avec l'option upsert définie sur true, quelle sera la valeur de un document nouvellement créé (en considérant qu'il n'existe pas, donc, upsert il), pour un champ avec cette requête de mise à jour:
{$inc: {age: 1}}
ainsi, le document nouvellement inséré aura la valeur 1? puisqu'il n'existe pas avant. Ai-je raison? Si l'opérateur est $rename
, quelle serait la valeur du champ, null
? Ou le champ ne sera pas créé dans le cadre du nouveau document à insérer?
Mise à jour:
Si la requête de mise à jour est une mise à jour de changement de nom:
db.students.update({ _id: 1 }, { $rename: { 'nickname': 'alias', 'cell': 'mobile' } })
1. doc dit: « Si le champ n'existe pas, $ inc définit le champ du montant indiqué. » donc vous avez raison/je ne reçois pas la chose renommer, pouvez-vous expliquer plus en détail? – joschua011
voir ma question mise à jour – xybrek
il n'y a pas upsert pour les requêtes renommer? droite? – xybrek