Mercurial > code > home > repos > gcalendarwatch
view calsync/mongoclient/events_collection.go @ 51:a9b720445bcf
now roughly syncs cals and events to mongodb, one time
author | drewp@bigasterisk.com |
---|---|
date | Mon, 19 Aug 2024 14:42:27 -0700 |
parents | dade5bbd02e3 |
children | 635ff76f867c |
line wrap: on
line source
package mongoclient import ( "log" "time" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo/options" ) func (c *MongoClient) UpsertOneEvent(ev MongoEvent) error { filter := bson.M{"_id": ev.Url} setFields := ev update := bson.M{"$set": setFields} _, err := c.eventsCollection.UpdateOne(c.ctx, filter, update, options.Update().SetUpsert(true)) if err != nil { return err } return nil } func (c *MongoClient) DeleteEventsUpdatedBefore(t time.Time) error { res, err := c.eventsCollection.DeleteMany(c.ctx, bson.M{"lastUpdated": bson.M{"$lt": t}}) log.Println("deleted", res.DeletedCount, "events") if err != nil { return err } return nil }