mirror of
https://github.com/mainnika/mongox-go-driver.git
synced 2026-06-12 16:53:35 +00:00
Add callback support to a single deleting
This commit is contained in:
@@ -33,12 +33,22 @@ func (d *Database) DeleteOne(target interface{}, filters ...interface{}) (err er
|
|||||||
protected.V = time.Now().Unix()
|
protected.V = time.Now().Unix()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer composed.OnClose().Invoke(ctx, target)
|
||||||
|
|
||||||
result := collection.FindOneAndDelete(ctx, composed.M(), opts)
|
result := collection.FindOneAndDelete(ctx, composed.M(), opts)
|
||||||
if result.Err() != nil {
|
if result.Err() != nil {
|
||||||
return fmt.Errorf("can't create find one and delete result: %w", result.Err())
|
return fmt.Errorf("can't create find one and delete result: %w", result.Err())
|
||||||
}
|
}
|
||||||
|
|
||||||
err = result.Decode(target)
|
err = result.Decode(target)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = composed.OnDecode().Invoke(ctx, target)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user