(Obs :uppdaterat originalsvar efter lite extra research)
De nya skrivoperationskommandona
som kom in med 2.6 och därför används mellan alla drivrutiner som stöds (PHP 1.5+) och MongoDB-server (2.6+) innebär att den nya semantiken för w=0
skriver är i spel. Det betyder att servern väntar på att operationen ska slutföras innan den skickar ett svar (det vill säga den enda skillnaden mellan w=0
och w=1
är det w=0
utelämnar felinformationen). Föraren väntar fortfarande på det svaret innan han återvänder från samtalet (dvs. är inte längre eld och glöm).
Du kan också se detta i själva MongoDB-skalet, och det officiella sättet runt det är att använda den nya Bulk API . Även om jag vet att 1.5-drivrutinen kommer att falla tillbaka till äldre skrivoperationer när man ansluter till en 2.4-server eller lägre, finns det inget sätt att tvinga fram det beteendet i PHP-drivrutinen.