MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment exécuter la commande mongo avec mongo-go-driver ?

RunCommand est d'exécuter une commande mongo. Ce que vous avez l'intention de faire, c'est de trouver tous les documents d'une collection, d'apporter des modifications, puis de les remplacer. Vous avez besoin de Find() , curseur et ReplaceOne() . Voici un extrait de code similaire.

if cur, err = collection.Find(ctx, bson.M{"hometown": bson.M{"$exists": 1}}); err != nil {
    t.Fatal(err)
}
var doc bson.M
for cur.Next(ctx) {
    cur.Decode(&doc)
    doc["updated"] = time.Now()
    if result, err = collection.ReplaceOne(ctx, bson.M{"_id": doc["_id"]}, doc); err != nil {
        t.Fatal(err)
    }
    if result.MatchedCount != 1 || result.ModifiedCount != 1 {
        t.Fatal("replace failed, expected 1 but got", result.MatchedCount)
    }
}

J'ai un exemple complet TestReplaceLoop()