diff --git a/backend/model/file.go b/backend/model/file.go index ca2c8ead..7aa88e3d 100644 --- a/backend/model/file.go +++ b/backend/model/file.go @@ -26,6 +26,15 @@ type File struct { Size int64 `json:"size"` } +func (f *GridFs) Remove() { + s, gf := database.GetGridFs("files") + defer s.Close() + if err := gf.RemoveId(f.Id); err != nil { + log.Errorf("remove file id error: %s, id: %s", err.Error(), f.Id.Hex()) + debug.PrintStack() + } +} + func GetAllGridFs() []*GridFs { s, gf := database.GetGridFs("files") defer s.Close() diff --git a/backend/model/spider.go b/backend/model/spider.go index 13ec12e4..e63c5f57 100644 --- a/backend/model/spider.go +++ b/backend/model/spider.go @@ -124,8 +124,17 @@ func GetSpiderList(filter interface{}, skip int, limit int) ([]Spider, int, erro return spiders, count, nil } -func GetSpiderByFileId(fileId bson.ObjectId) { +func GetSpiderByFileId(fileId bson.ObjectId) *Spider { + s, c := database.GetCol("spiders") + defer s.Close() + var result *Spider + if err := c.Find(bson.M{"file_id": fileId}).One(&result); err != nil { + log.Errorf("get spider error: %s, file_id: %s", err.Error(), fileId.Hex()) + debug.PrintStack() + return nil + } + return result } func GetSpiderByName(name string) *Spider {