Categorygithub.com/vippsas/go-cosmosdb
repository
0.0.0-20240917103525-9b5df31f4c33
Repository: https://github.com/vippsas/go-cosmosdb.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

go-cosmosdb Build Status

go sdk for Azure Cosmos DB

Usage

  • instantiate a config struct. Set the keys, url and some other parameters.

  • call the constructor New(cfg config)

  • cosmosdb follows the hierarchy of Cosmos DB. This means that you can operate on the resource the current type represents. The database struct can work with resources that belong to a cosmos database, the Collection type can work with resources that belong to a collection.

  • doc interface{} may seem weird in some contexts, e.g. DeleteDocument, why not use a signature like DeleteDocument(ctx context.Context, id string). The reason is that there are several ways to address the document. Either by self link, with or without _etag or by the id. All on collections with or without a partition key.

    • use _self if possible
    • if _etag is present, use it
    • otherwise use id
    • if neither exists -> error

Examples

Create Document

type Document struct {
    id string
}

newDoc, err := coll.CreateDocument(context.Background(), doc)

#FAQ