sql >> Database >  >> NoSQL >> MongoDB

Hoe het mongo-commando uit te voeren met mongo-go-driver?

RunCommand is om een ​​mongo-commando uit te voeren. Wat u van plan bent te doen, is alle documenten van een verzameling zoeken, wijzigingen aanbrengen en ze vervolgens vervangen. Je hebt Find() . nodig , cursor en ReplaceOne() . Hier is een soortgelijk codefragment.

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)
    }
}

Ik heb een volledig voorbeeld TestReplaceLoop()




  1. Solr Mongo/DocDB Delta Import Query werkt niet

  2. YCSB-laden starten met cluster ingeschakelde optie voor REDIS

  3. Match met subtekenreeks in mongodb-aggregatie

  4. Gebruik MongoDB met Laravel 5.3 "