Je veux éviter de faire deux opérations pour atteindre les objectifs suivants:MongoDB tout idiome pour s'effondrer 2 upserts en un seul: créer, modifier-default-set à des valeurs, de modification à la mise à jour-existing document de
- Rechercher un document, mettre à jour avec modificateur-1.
- Si le document n'existe pas, remplir les champs par défaut avec modificateur-2, puis mettre à jour avec modificateur-1.
C'est un modèle commun, donc cela devrait être possible. En ce moment je dois faire deux upserts. (n'hésitez pas à ajuster le pseudo-code, je suis nouveau dans la langue de la requête). Je suppose que deux opérations entraîneraient deux écritures de disque, je comprends que mongodb écrit des disques asynchrones. Si je ne peux pas le faire en une seule opération, existe-t-il un mécanisme permettant de fusionner les écritures en une seule écriture avant d'écrire sur le journal/disque? Et oui cela ferait une différence significative dans le chargement de mon ensemble de données de 300 Go: D
Je pourrais supprimer le n'existe pas réellement, comme aucun autre thread de contrôle devrait obtenir un état "retourné" retourné. –