Add mongodb driver
Used to go get to add Go drivers as dependencies.
go get /mongo-driver/mongo
How to use
Create a file
package main import ( "context" "fmt" "/mongo-driver/bson" "/mongo-driver/bson/primitive" "/mongo-driver/mongo" "/mongo-driver/mongo/options" "/mongo-driver/mongo/readpref" "log" "time" ) // MongoDB connection poolvar MongoDBClient * // pool connection pool modefunc ConnectToDBPool() { user := "admin" password := "12345678" host := "127.0.0.1" port := "27017" dbName := "demo" timeOut := 2 maxNum := 50 uri := ("mongodb://%s:%s@%s:%s/%s?w=majority", user, password, host, port, dbName) // Set the connection timeout time ctx, cancel := ((), (timeOut)) defer cancel() //Configuration related to uri connections transmitted through incoming o := ().ApplyURI(uri) // Set the maximum number of connections - the default is 100, if not set, the maximum max 64 (uint64(maxNum)) // Start a link client, err := (ctx, o) if err != nil { ("ConnectToDB", err) return } // Determine whether the service is available if err = ((), ()); err != nil { ("ConnectToDB", err) return } // Return to client MongoDBClient = (dbName) } func ConnectToDB() { clientOptions := ().ApplyURI("mongodb://admin:12345678@localhost:27017") var ctx = () // Connect to MongoDB client, err := (ctx, clientOptions) if err != nil { (err) } // Check the connection err = (ctx, nil) if err != nil { (err) } ("Connected to MongoDB!") // Return to client MongoDBClient = ("demo") //defer (ctx) } // Insert a single piece of datafunc insertOne() { ash := Member{"13212345678", "123456", []string{"abc1", "efg1", "hij1"}} insertResult, err := ("test1").InsertOne((), ash) if err != nil { (err) } println("Inserted a single document: ", ) } // Insert multiple pieces of datafunc insert() { var ash []interface{} ash = append(ash, Member{"13222222222", "123456", []string{"aaa", "bbb", "ccc"}}) ash = append(ash, Member{"13333333333", "123456", []string{"aaa1", "bbb1", "ccc1"}}) (ash) insertResult, err := ("test1").InsertMany((), ash) if err != nil { (err) } println("Inserted Multiple document: ", ) } // Inquiry singlefunc findOne() { var result err := ("test1").FindOne((), {{"info", "aaa1"}}).Decode(&result) if err != nil { if err == { //This error means your query did not match any documents. return } panic(err) } (result) } // Query multiple datafunc find() { findOptions := () (10) cur, err := ("test1").Find((), {{"phone", "13333333333"}}, findOptions) if err != nil { (err) } var results []*Member for (()) { // create a value into which the single document can be decoded var elem Member err := (&elem) if err != nil { (err) } results = append(results, &elem) } if err := (); err != nil { (err) } //(results) for _, v := range results { () () () } } func updateOne() { //If the filtered document does not exist, insert a new document opts := ().SetUpsert(true) id, _ := ("633b02b6e082e5046001d0b9") filter := {{"_id", id}} update := {{"$set", {{"phone", "1444444444444"}}}} result, err := ("test1").UpdateOne((), filter, update, opts) //result, err := ("test1").UpdateOne((), filter, update) if err != nil { panic(err) } (result) } func update() { filter := {{"name", "123456"}} update := {{"$set", {{"name", "Zhang San"}}}} result, err := ("test1").UpdateMany((), filter, update) if err != nil { panic(err) } (result) } // Replace the documentfunc replaceOne() { filter := {{"phone", "13222222222"}} replacement := {{"phone", "16666666666"}} result, err := ("test1").ReplaceOne((), filter, replacement) if err != nil { panic(err) } (result) } // Delete a single filefunc deleteOne() { filter := {{"phone", "16666666666"}} result, err := ("test1").DeleteOne((), filter) if err != nil { panic(err) } (result) } // Delete multiplefunc delete() { //filter := {{"runtime", {{"$gt", 800}}}} filter := {{"phone", "16666666666"}} results, err := ("test1").DeleteMany((), filter) if err != nil { panic(err) } (results) } type Member struct { Phone string Name string Info []string } func main() { //Connect the database ConnectToDB() //Connection pool to connect to database //ConnectToDBPool() //Insert a single piece of data //insertOne() //Insert multiple pieces of data //insert() //Find a single piece of data //findOne() //Find multiple data find() //Modify a single piece of data //updateOne() //Modify multiple data //update() //Replace the document //replaceOne() // Delete multiple //deleteOne() // Delete multiple //delete() }
links /docs/...
The above is the detailed content of the Go operation mongodb database method example. For more information about Go operation mongodb, please follow my other related articles!