Skip to content
/ mgc Public

MongoDB datastore connectivity plugin (github.com/viant/dsc)

License

Notifications You must be signed in to change notification settings

adrianwit/mgc

Repository files navigation

Datastore Connectivity for MongoDB(mgc)

Datastore Connectivity library for MongoDB in Go. GoDoc

This library is compatible with Go 1.10+

Please refer to CHANGELOG.md if you encounter breaking changes.

Usage:

The following is a very simple example of CRUD operations

package main

import (
	"github.com/viant/dsc"
    _ "github.com/adrianwit/mgc"
)


type User struct {
	Id int	`autoincrement:"true"`
	Name string
}


func main() {

	config, err := dsc.NewConfigWithParameters("mgc", "", "", map[string]interface{}{
    		"host":   "127.0.0.1",
    		"dbname": "mydb",
    		"keyColumnName":"id",
    })
	if err != nil {
		log.Fatal(err)
    }
	factory := dsc.NewManagerFactory()
	manager, err := factory.Create(config)
    if err != nil {
    	log.Fatal(err)
    }
    }
    
    var users []*User; // 
   
	inserted, updated, err:= manager.PersistAll(&users, "users", nil)
	if err != nil {
       log.Fatal(err)
   	}

    
    err:= manager.ReadAll(&users, "SELECT id, name FROM users WHERE id IN(?, ?)", []interface{}{1, 10},nil)
	 if err != nil {
         log.Fatal(err)
     }

   
  
    deleted, err := manager.DeleteAll(&users, "users", nil)
    if err != nil {
        log.Fatal(err)
   	}
  
}

License

The source code is made available under the terms of the Apache License, Version 2, as stated in the file LICENSE.

Individual files may be made available under their own specific license, all compatible with Apache License, Version 2. Please see individual files for details.

Credits and Acknowledgements

Library Author: Adrian Witas

Contributors:

About

MongoDB datastore connectivity plugin (github.com/viant/dsc)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages