Get a collection by name
Use the Collection
method on a db.Session
to get a reference to an specific
collection:
col := sess.Collection("books")
A collection reference satisfies db.Collection, it gives you access to a
set of methods that can be used to retrieve and manipulate data, such as Find
(to search for specific records in the collection) and Insert
(to add more
records to a collection).
Note that if you create a reference to a collection that doesn’t exist, you’ll see a WARNING message:
2020/07/01 00:11:33 upper/db: log_level=WARNING file=/go/src/git...
Session ID: 00001
Query: SELECT "pg_attribute"."attname" AS "pkey" ...
Error: pq: relation "fake_collection" does not exist
Time taken: 0.00129s
Context: context.Background
If you’d prefer to not see WARNING messages, set a higher logging level:
db.LC().SetLevel(db.LogLevelError)
Use the Exists
method to check whether a collection exists or not:
exists, err := collection.Exists()
if errors.Is(err, db.ErrCollectionDoesNotExist) {
log.Printf("Collection does not exist: %v", err)
}