Ik wilde dit antwoord geven omdat het naar voren kwam in een mongodb-examenvraag voor de gratis online mongodb-universiteit. Het is grondig en biedt documentatie.
Ik heb het uitgezocht en zal wat verwarring opruimen, voornamelijk veroorzaakt door een gebrek aan uitleg in de lessen. Ik ben niet kritisch maar nadere uitleg is nodig om deze vraag goed te kunnen beantwoorden.
Ten eerste, wanneer u via een applicatie verbinding maakt met mongodb, gebruikt u een stuurprogramma. Deze driver heeft barrières waar hij doorheen moet om iets met de mongodb-server te kunnen doen. Wanneer u dit barrièreconcept begrijpt, begrijpt u deze vraag.
Elke verbinding die uiteindelijk wordt gemaakt, moet een lijst van dingen maken om door de barrières heen te gaan en uiteindelijk een schrijf- of leesoperatie uit te voeren.
Visueel kun je het zo zien:
*****Opmerking**:overal langs deze pijplijn treedt een fout op op basis van uw logica, waardoor een succesvolle schrijf-/leesbewerking mogelijk niet optreedt.
We kunnen barrières 1 - 3 zien als netwerkbarrières voor connectiviteit. Als het netwerk uitvalt of problemen heeft, zijn dit de problemen die u zou opmerken door time-outs en het afhandelen van uitzonderingen van die time-outs. Wat je moet begrijpen, is dat je geen schrijfbewerking kunt uitvoeren met schrijfproblemen als je in de eerste plaats geen verbinding kunt maken met de server. De les had deze punten kunnen illustreren.
De eerste reeks barrières voor een schrijf- of leesbewerking is een tot stand gebrachte verbinding met de server... Dit wordt hierboven geïllustreerd door barrières 1 - 3.
Nadat u een serververbinding hebt gemaakt via een cluster en/of replicaset van clusters, kunt u schrijfproblemen definiëren.
Nadat we een verbinding tot stand hebben gebracht, kan het schrijven om andere redenen dan netwerkconnectiviteit niet plaatsvinden. Dit kunnen botsingen van gegevens zijn of een extreme toewijzing van schrijfbewerkingen als gevolg van DDOS of hacking of in het algemeen niet genoeg serverruimte om de gegevens naar de server te schrijven. Het punt is dat iets anders een reactie kan veroorzaken op het schrijfprobleem en dus de controle via opties om schrijfproblemen op te lossen.
Ik hoop dat dit helpt, omdat ik daardoor de vraag en het juiste antwoord heb begrepen. Meestal hebben we dit niet echt geleerd, dus ik hoop dat dit anderen helpt deze feedbacklus te leren en te begrijpen.
Hier zijn enkele artikelen die ik heb gelezen om me te helpen tot dit antwoord / deze conclusie te komen. Als iemand een betere of verbetering heeft op mijn uitleg, aarzel dan niet om feedback te geven.
https://scalegrid.io/blog/understanding-mongodb-client- time-out-opties/
https://scalegrid.io/blog/mongodb- write-concern-3-must-know-caveats/
https://docs.mongodb.com/manual/reference/write-concern/
https://www.mongodb.com/blog /post/server-selection-next-generation-mongodb-drivers