27 lines
721 B
Go
27 lines
721 B
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/yonwoo9/go-comtrade"
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
// StorageComtradeIntoMongoDB return the result of storing comtrade data into mongoDB
|
|
func StorageComtradeIntoMongoDB(ctx context.Context, comtradeData *comtrade.Comtrade, collection *mongo.Collection, logger *zap.Logger) error {
|
|
comtradeBson, err := bson.Marshal(comtradeData)
|
|
if err != nil {
|
|
logger.Error("bson marshal comtrade data failed", zap.Error(err))
|
|
return err
|
|
}
|
|
|
|
_, err = collection.InsertOne(ctx, comtradeBson)
|
|
if err != nil {
|
|
logger.Error("insert comtrade data into mongoDB failed", zap.Error(err))
|
|
return err
|
|
}
|
|
return nil
|
|
}
|