Golang / mgo: Wie kann ich MongoDB bitten, die aktuelle Zeit in einem Feld zu verwenden?

Ich habe diese Struktur, die den Typen einer MongoDB-Sammlung entspricht, die ich verwende:

type AppInstance struct {
    Id bson.ObjectId "_id,omitempty"
    Url string
    Priority int
    LastSeen string
}

Ich möchte, dass das LastSeen-Feld die Zeit der letzten Interaktion mit dieser bestimmten App enthält. Die App registriert sich selbst und stellt die aktuelle Uhrzeit ein (als Zeichenfolge).

Was ich möchte, ist, dass Mongo beim Einfügen dynamisch seine eigene aktuelle Zeit in dieses Feld setzt, genau wie es die NOW () - Funktion von MySQL tun würde.

Ich habe diese Hilfsfunktion:

func mongoNow() bson.JavaScript {
    return bson.JavaScript{Code: 
         "return (new Date()).ISODate('YYYY-MM-DD hh:mm:ss');"}
}

Und ich habe es versucht:

c := mongoSession.DB("myapp").C("instances")
rand.Seed(time.Now().UnixNano())
err := c.Insert(
   struct{Id, Serial, Priority, Url, LastSeen interface{}}{ 
      Id: bson.NewObjectId(), 
      Url: getInformedHost() + ":" + getRunningPortString(), 
      Priority: rand.Int(), 
      LastSeen: mongoNow() }
)
checkError(err, "Could not register on MongoDB server.", 3)

Das LastSeen-Feld wird als Skript gespeichert und nicht ausgewertet:

[_id] => MongoId Object (
    [$id] => 502d6f984eaead30a134fa10
)
[id] => MongoId Object (
    [$id] => 502d6f98aa443e0ffd000001
)
[priority] => 1694546828
[url] => 127.0.0.1:8080
[lastseen] => MongoCode Object (
    [code] => (new Date()).ISODate('YYYY-MM-DD hh:mm:ss')
    [scope] => Array (
    )
)

Also, ich denke da gibt es Fragen:

Wie kann ich zuerst die aktuelle Uhrzeit eingeben?

Zweitens, wie kann ich JavaScript auswerten lassen, anstatt es einzufügen?

Die Antwort auf die zweite Frage könnte ausreichen, um die erste zu beantworten, aber es könnte genauso gut sein, dass dies nicht der Fall ist.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage