In base alla documentazione (http://godoc.org/launchpad.net/mgo/v2) è possibile ottenere l'ID del documento "Upserted" se si utilizza il metodo Upsert.Golang/mgo: Perché mgo non restituisce l'ID del documento inserito?
C'è anche un metodo di inserimento che non fornisce questa funzionalità.
Perché è quello? Cosa succede se voglio eseguire un inserimento anziché un Upsert? (o non sarebbe mai un motivo valido per voler farlo? Sto cominciando a chiedermi.)
Come potrei sostituire "pippo": "bar" con una struct ho già creato? – Acidic
"Se l'applicazione viene riavviata, il generatore Id oggetto inizierà dall'inizio generando sempre gli stessi ID, aggiornando così i record esistenti nel database." questo è pubblicato sulla seconda risposta, è DAVVERO importante e non è menzionato sulla risposta. Penso che dovresti modificare la risposta aggiungendo queste informazioni per le persone in futuro. – cjf93
@ cjf93 Questo non è vero (altro?). Se si esamina l'implementazione di bson.ObjectId, si vedrà che prende in considerazione l'ora corrente. Questo è anche spiegato qui: https://github.com/go-mgo/mgo/issues/392 –