sql >> Database >  >> NoSQL >> MongoDB

Controleer of MongoDB upsert een invoeging of een update heeft uitgevoerd

Ja, bij een veilige oproep (of getLastError) retourneert de update-functie een array met een upsert-veld en een updatedExisting-veld.

Je kunt de PHP-versie hiervan hier lezen:http://php.net/manual/en/mongocollection.insert.php onderaan.

Zoals het staat in de documentatie op upserted :

Als er een upsert is opgetreden, bevat dit veld het veld _id van het nieuwe record. Voor upserts, dit veld of updatedExisting zal aanwezig zijn (tenzij er een fout is opgetreden).

Dus upserted bevat de _id van het nieuwe record als er een invoeging is gedaan of het zal updatedExisting . verhogen als het een record heeft bijgewerkt.

Ik weet zeker dat iets soortgelijks in alle stuurprogramma's voorkomt.

Bewerken

Het zal eigenlijk een boolean zijn in de updatedExisting veld van true of false



  1. MongoDB:kan zoekopdracht niet canonicaliseren:BadValue Projection kan geen combinatie van opname en uitsluiting hebben

  2. MongoDB GUI-client (platformonafhankelijk of Linux)

  3. mongodb kon geen verbinding maken met de server

  4. Koppelen en maken van MongoDB-joins met SQL:deel 1