Jaka jest różnica findOneAndUpdate i aktualizacji? Oba kryteria akceptowania zapytania i dokumentu do aktualizacji.Różnica mangusty findOneAndUpdate i aktualizacji
Odpowiedz
Dobrze jest odpowiednia dokumentacja, aby zobaczyć zarówno .update()
i .findAndModify()
która jest metodą korzeń .findOneAndUpdate()
tutaj.
Ale główne różnice istnieją:
update(): jest przeznaczony do wykonywania atomowej operacji aktualizacji przeciwko „jeden lub więcej” dokumentów dobranych przez niego jest warunkiem zapytań w kolekcji. Zwraca liczbę zmodyfikowanych dokumentów w odpowiedzi.
findOneAndUpdate(): ma na celu zarówno rozpatrzenie statment aktualizacji na „szczególny” dokumentu, a także pobierania zawartości tej „szczególnej” dokumentu. Zwrócony stan zależy od wartości "nowej" opcji przekazanej do operacji. Gdzie
true
"zmodyfikowany" dokument jest zwracany. Gdziefalse
"oryginalny" dokument jest zwracany przed jakąkolwiek modyfikacją. Ta ostatnia forma jest domyślną opcją.
Krótko mówiąc. Jeden ma na celu modyfikację w "luzem" i nie martwić się o treść dokumentu w wyniku. Drugi ma na celu zmodyfikowanie pojedynczego dokumentu i zwrócenie zawartości dokumentu w wyniku.
Taka jest różnica.
Sposób .findOneAndUpdate
wyda polecenie aktualizacji MongoDB .findAndModify
i zwraca znalezionego dokumentu (jeśli w ogóle) do wywołania zwrotnego lub powrotu zmodyfikowanego dokumentu zamiast oryginału, jeśli opcja new
jest true
i .update
wykonać kwerendę jako operacja update()
.
Pytanie byłoby bardziej spójne w następujący sposób: Jaka jest różnica między mongoDB "findOneAndUpdate" i "updateOne", lub/i jaka jest różnica między aktualizacją mongoDB a "findAndModify". Wydajność? –