Maison >développement back-end >Golang >Comment puis-je utiliser les fonctions JavaScript stockées dans MongoDB pour attribuer dynamiquement des valeurs de champ ?
Évaluation de JavaScript dans MongoDB pour attribuer des valeurs de champ
L'insertion de documents dans une collection MongoDB peut être complétée par une évaluation JavaScript pour attribuer dynamiquement des valeurs de champ. Cependant, le code donné ne parvient pas initialement à évaluer l'instruction JavaScript et la stocke sous forme de script.
La documentation MongoDB décrit une méthode pour stocker les fonctions JavaScript côté serveur dans la collection system.js. En créant une fonction stockée, nous pouvons évaluer JavaScript à distance depuis le client Go.
Méthode utilisant les fonctions stockées :
db.system.js.insert({ _id: "assignDate", value: function() { return ISODate(); } });
func createInstance(c *mgo.Collection) { result, err := c.Run( bson.M{"eval": "assignDate()"}, ) checkError(err, "Could not get server time") var doc bson.M err = result.One(&doc) if err != nil { checkError(err, "Invalid result from stored function", 3) } lastSeen, ok := doc["retval"].(time.Time) if !ok { checkError(fmtErrorf("Invalid result from stored function: %v", doc["retval"]), "Invalid result from stored function: %v", 3) } // ... Insert document with evaluated field value }
Considérations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!