in server/datasource/mongo/history/history_dao.go [56:95]
func getHistoryByKeyID(ctx context.Context, filter bson.M, offset, limit int64) (*model.KVResponse, error) {
collection := mongo.GetClient().GetDB().Collection(mmodel.CollectionKVRevision)
opt := options.Find().SetSort(map[string]interface{}{
"update_revision": -1,
})
if limit > 0 {
opt = opt.SetLimit(limit)
opt = opt.SetSkip(offset)
}
curTotal, err := collection.CountDocuments(ctx, filter)
if err != nil {
return nil, err
}
cur, err := collection.Find(ctx, filter, opt)
if err != nil {
return nil, err
}
kvs := make([]*model.KVDoc, 0)
var exist bool
for cur.Next(ctx) {
var elem model.KVDoc
err := cur.Decode(&elem)
if err != nil {
openlog.Error("decode error: " + err.Error())
return nil, err
}
exist = true
elem.Domain = ""
elem.Project = ""
kvs = append(kvs, &elem)
}
if !exist {
return nil, datasource.ErrRevisionNotExist
}
result := &model.KVResponse{
Data: kvs,
Total: int(curTotal),
}
return result, nil
}