增加Mongo基础字段结构体
This commit is contained in:
@@ -40,6 +40,7 @@ func Find(ctx context.Context, filter bson.M, result interface{}, collection str
|
||||
if err = utils.ValidStructPtr(result); err != nil {
|
||||
return
|
||||
}
|
||||
//filter["isDeleted"] = 0
|
||||
cur, err := db.Collection(collection).Find(ctx, filter, opts...)
|
||||
if err != nil {
|
||||
return
|
||||
@@ -50,13 +51,14 @@ func Find(ctx context.Context, filter bson.M, result interface{}, collection str
|
||||
|
||||
// FindOne 查询1条记录
|
||||
func FindOne(ctx context.Context, filter bson.M, result interface{}, collection string, opts ...options.Lister[options.FindOneOptions]) (err error) {
|
||||
if len(filter) == 0 {
|
||||
err = gerror.New("缺少查询条件")
|
||||
return
|
||||
}
|
||||
//if len(filter) == 0 {
|
||||
// err = gerror.New("缺少查询条件")
|
||||
// return
|
||||
//}
|
||||
if err = utils.ValidStructPtr(result); err != nil {
|
||||
return
|
||||
}
|
||||
//filter["isDeleted"] = 0
|
||||
cur := db.Collection(collection).FindOne(ctx, filter, opts...)
|
||||
err = cur.Decode(result)
|
||||
if err == mongo.ErrNoDocuments {
|
||||
@@ -67,6 +69,11 @@ func FindOne(ctx context.Context, filter bson.M, result interface{}, collection
|
||||
|
||||
// Delete 删除记录
|
||||
func Delete(ctx context.Context, filter bson.M, collection string, opts ...options.Lister[options.DeleteManyOptions]) (count int64, err error) {
|
||||
if len(filter) == 0 {
|
||||
err = gerror.New("缺少查询条件")
|
||||
return
|
||||
}
|
||||
//filter["isDeleted"] = 0
|
||||
r, err := db.Collection(collection).DeleteMany(ctx, filter, opts...)
|
||||
if err != nil {
|
||||
return
|
||||
@@ -77,6 +84,11 @@ func Delete(ctx context.Context, filter bson.M, collection string, opts ...optio
|
||||
|
||||
// Update 修改记录
|
||||
func Update(ctx context.Context, filter bson.M, update interface{}, collection string, opts ...options.Lister[options.UpdateManyOptions]) (result *mongo.UpdateResult, err error) {
|
||||
if len(filter) == 0 {
|
||||
err = gerror.New("缺少查询条件")
|
||||
return
|
||||
}
|
||||
//filter["isDeleted"] = 0
|
||||
result, err = db.Collection(collection).UpdateMany(ctx, filter, update, opts...)
|
||||
if err != nil {
|
||||
return
|
||||
@@ -86,6 +98,9 @@ func Update(ctx context.Context, filter bson.M, update interface{}, collection s
|
||||
|
||||
// Insert 插入多条记录
|
||||
func Insert(ctx context.Context, documents []interface{}, collection string, opts ...options.Lister[options.InsertManyOptions]) (ids []interface{}, err error) {
|
||||
//for _, document := range documents {
|
||||
// gconv.Map(document)["isDeleted"] = 0
|
||||
//}
|
||||
r, err := db.Collection(collection).InsertMany(ctx, documents, opts...)
|
||||
if err != nil {
|
||||
return
|
||||
@@ -96,6 +111,11 @@ func Insert(ctx context.Context, documents []interface{}, collection string, opt
|
||||
|
||||
// Count 查询总数
|
||||
func Count(ctx context.Context, filter bson.M, collection string) (count int64, err error) {
|
||||
//if len(filter) == 0 {
|
||||
// err = gerror.New("缺少查询条件")
|
||||
// return
|
||||
//}
|
||||
//filter["isDeleted"] = 0
|
||||
// 调用驱动的 CountDocuments,在数据库端执行的
|
||||
count, err = db.Collection(collection).CountDocuments(ctx, filter)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user