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

Mettre à jour plusieurs lignes conditionnelles

Il n'y a aucun moyen de le faire en une seule étape. L'opération la plus proche de ce que vous recherchez est le saveAll fonction. Référence de l'API JS

Voici le descriptif :

Exemple d'utilisation :

Parse.Object.saveAll([object1, object2, ...], {
  success: function(list) {
    // All the objects were saved.
  },
  error: function(error) {
    // An error occurred while saving one of the objects.
  },
});

Avec cette opération, vous devrez toujours interroger les objets, les parcourir et mettre à jour les valeurs, puis appeler saveAll sur la liste des objets mis à jour.

Il y a eu un peu de confusion autour du saveAll opération -- en particulier, combien de demandes d'API il utilise. Cette incertitude est due au fait que Parse a changé la façon dont ils facturent les requêtes API et ce qui était autrefois vrai pour cette opération ne l'est plus.

Par ce lien :

Ce n'est plus vrai . En avril 2014, Parse a changé son modèle de tarification pour les requêtes par seconde métrique, mais plus tard cette année Parse aussi changé la façon dont les demandes d'API par lots étaient comptées depuis que les développeurs ont commencé à exploiter les opérations par lots.

Voici un extrait d'une déclaration officielle de Parse à ce sujet :

Utilisation de saveAll l'opération d'aujourd'hui entraînera 1 requête API par objet dans la liste, appelant effectivement save pour chaque objet individuel.

Actuellement, il n'y a aucun moyen d'éviter d'avoir à appeler save sur chacun des objets modifiés. Espérons que c'est quelque chose que Parse envisagera d'ajouter à l'avenir.