sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatera flera rader villkorligt

Det finns inget sätt att göra det i ett steg. Den operation som ligger närmast det du letar efter är saveAll fungera. JS API-referens

Här är beskrivningen:

Exempel på användning:

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.
  },
});

Med den här operationen måste du fortfarande fråga efter objekten, iterera igenom dem och uppdatera värdena och sedan anropa saveAll på listan över uppdaterade objekt.

Det har varit lite förvirring kring saveAll operation -- i synnerhet hur många API-förfrågningar den använder. Detta beror med säkerhet på det faktum att Parse har ändrat hur de fakturerar API-förfrågningar och det som en gång var sant för den här operationen inte längre är det.

Per. denna länk :

Detta är inte längre sant . I april 2014 ändrade Parse sin prismodell till förfrågningar per sekund metrisk, men senare samma år Parse även ändrat hur batch-API-förfrågningar räknades sedan utvecklare började utnyttja batchoperationer.

Här är ett utdrag ur ett officiellt Parse-uttalande i frågan :

Använda saveAll operation idag kommer att resultera i 1 API-begäran per objekt i listan, vilket i praktiken anropar save för varje enskilt objekt.

För närvarande finns det inget sätt att undvika att behöva anropa spara på vart och ett av de modifierade objekten. Förhoppningsvis är detta något som Parse kommer att överväga att lägga till i framtiden.




  1. Hur beställer MongoDB sina dokument i en samling?

  2. Kontrollera det aktuella antalet anslutningar till MongoDb

  3. MongoDB - ska mitt användardokument innehålla en lista över projekt-ID?

  4. $strLenBytes vs $strLenCP i MongoDB:Vad är skillnaden?