HTML Form MongoDB InsertOne – GinGonic Golang Framework 16
HTML Form MongoDB InsertOne – GinGonic Golang Framework 16
Source Code – Main.go
<div> <div>//Mongodb insert data via html form(gingonic)</div> <div>// first install go get go.mongodb.org/mongo-driver/mongo</div> <div>package main</div> <div>import (</div> <div> "context"</div> <div> "github.com/gin-gonic/gin"</div> <div> "go.mongodb.org/mongo-driver/bson"</div> <div> "go.mongodb.org/mongo-driver/mongo"</div> <div> "go.mongodb.org/mongo-driver/mongo/options"</div> <div>)</div> <div>// lets create context variable</div> <div>var ctx = context.TODO()</div> <div>// lets create collection variable</div> <div>var collection *mongo.Collection</div> <div>// initialize mongodb</div> <div>func init() {</div> <div> // 2nd value/parameter is url of mongodb</div> <div> client, _ := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost:27017"))</div> <div> // in result it gives client & err(ignored here)</div> <div> // lets create database and collection(table)</div> <div> collection = client.Database("anyname").Collection("anyname")</div> <div>}</div> <div>func main() {</div> <div> // lets create gingonic server</div> <div> r := gin.Default()</div> <div> r.Static("/insert", "./static") // we will keep our html file in this folder</div> <div> // lets create our routes</div> <div> r.GET("/", func(c *gin.Context) {</div> <div> // get data from form</div> <div> name := c.Query("name")</div> <div> value := c.Query("value")</div> <div> // lets insert data into mongodb</div> <div> collection.InsertOne(ctx, bson.D{{"name", name}, {"value", value}})</div> <div> // lets send some response to user</div> <div> //c.JSON(200, []string{name,value})</div> <div> //c.String(200, "success message....")</div> <div> c.String(200, "success... %s %s", name, value)</div> <div> // you can use any of the above 3 ...</div> <div> })</div> <div> r.Run()</div> <div>}</div> </div>
Source Code – index.html
<div> <div><!DOCTYPE html></div> <div><html lang="en"></div> <div><head></div> <div> <meta charset="UTF-8"></div> <div> <meta http-equiv="X-UA-Compatible" content="IE=edge"></div> <div> <meta name="viewport" content="width=device-width, initial-scale=1.0"></div> <div> <title>Insert data into gingonic/mongodb</title></div> <div></head></div> <div><body></div> <div> <!-- Create html form --></div> <div> <form action="/" method="get"></div> <div> <!-- input fields --one for value and one for name --></div> <div> <input type="text" name="name" id=""></div> <div> <input type="text" name="value" id=""></div> <div> <!-- I need only 2 fields ... you increse or decrease --></div> <div> <!-- submit button --></div> <div> <button type="submit">submit</button></div> <div> </form></div> <div></body></div> <div></html></div> </div>
golang gingonic framework videos tutorials series
TAGS#
gin gonic tutorial
gin-gonic / examples
gin-gonic documentation
gin framework tutorial
gin web framework
gin router
golang gin context
gin router group