v0.0.157
This commit is contained in:
@@ -8,20 +8,15 @@ import (
|
||||
)
|
||||
|
||||
func (c *Coll[TData]) FindOne(ctx context.Context, filter bson.M) (TData, error) {
|
||||
var res TData
|
||||
mongoRes := c.coll.FindOne(ctx, filter)
|
||||
|
||||
err := c.coll.FindOne(ctx, filter).Decode(&res)
|
||||
if err != nil {
|
||||
return *new(TData), err
|
||||
}
|
||||
|
||||
return res, nil
|
||||
return c.decodeSingle(ctx, mongoRes)
|
||||
}
|
||||
|
||||
func (c *Coll[TData]) FindOneOpt(ctx context.Context, filter bson.M) (*TData, error) {
|
||||
var res TData
|
||||
mongoRes := c.coll.FindOne(ctx, filter)
|
||||
|
||||
err := c.coll.FindOne(ctx, filter).Decode(&res)
|
||||
res, err := c.decodeSingle(ctx, mongoRes)
|
||||
if err == mongo.ErrNoDocuments {
|
||||
return nil, nil
|
||||
}
|
||||
@@ -33,20 +28,15 @@ func (c *Coll[TData]) FindOneOpt(ctx context.Context, filter bson.M) (*TData, er
|
||||
}
|
||||
|
||||
func (c *Coll[TData]) FindOneByID(ctx context.Context, id EntityID) (TData, error) {
|
||||
var res TData
|
||||
mongoRes := c.coll.FindOne(ctx, bson.M{"_id": id})
|
||||
|
||||
err := c.coll.FindOne(ctx, bson.M{"_id": id}).Decode(&res)
|
||||
if err != nil {
|
||||
return *new(TData), err
|
||||
}
|
||||
|
||||
return res, nil
|
||||
return c.decodeSingle(ctx, mongoRes)
|
||||
}
|
||||
|
||||
func (c *Coll[TData]) FindOneOptByID(ctx context.Context, id EntityID) (*TData, error) {
|
||||
var res TData
|
||||
mongoRes := c.coll.FindOne(ctx, bson.M{"_id": id})
|
||||
|
||||
err := c.coll.FindOne(ctx, bson.M{"_id": id}).Decode(&res)
|
||||
res, err := c.decodeSingle(ctx, mongoRes)
|
||||
if err == mongo.ErrNoDocuments {
|
||||
return nil, nil
|
||||
}
|
||||
@@ -63,8 +53,7 @@ func (c *Coll[TData]) Find(ctx context.Context, filter bson.M, opts ...*options.
|
||||
return nil, err
|
||||
}
|
||||
|
||||
res := make([]TData, 0, cursor.RemainingBatchLength())
|
||||
err = cursor.All(ctx, &res)
|
||||
res, err := c.decodeAll(ctx, cursor)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user