mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-24 17:41:03 +01:00
fix: create index errors
This commit is contained in:
@@ -12,69 +12,69 @@ import (
|
||||
func InitIndexes() {
|
||||
// nodes
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.Node{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"key": 1}}, // key
|
||||
{Keys: bson.M{"name": 1}}, // name
|
||||
{Keys: bson.M{"is_master": 1}}, // is_master
|
||||
{Keys: bson.M{"status": 1}}, // status
|
||||
{Keys: bson.M{"enabled": 1}}, // enabled
|
||||
{Keys: bson.M{"active": 1}}, // active
|
||||
{Keys: bson.D{{Key: "key", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "name", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "is_master", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "status", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "enabled", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "active", Value: 1}}},
|
||||
})
|
||||
|
||||
// projects
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.Project{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"name": 1}},
|
||||
{Keys: bson.D{{Key: "name", Value: 1}}},
|
||||
})
|
||||
|
||||
// spiders
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.Spider{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"name": 1}},
|
||||
{Keys: bson.M{"type": 1}},
|
||||
{Keys: bson.M{"col_id": 1}},
|
||||
{Keys: bson.M{"project_id": 1}},
|
||||
{Keys: bson.D{{Key: "name", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "type", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "col_id", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "project_id", Value: 1}}},
|
||||
})
|
||||
|
||||
// tasks
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.Task{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"spider_id": 1}},
|
||||
{Keys: bson.M{"status": 1}},
|
||||
{Keys: bson.M{"node_id": 1}},
|
||||
{Keys: bson.M{"schedule_id": 1}},
|
||||
{Keys: bson.M{"type": 1}},
|
||||
{Keys: bson.M{"mode": 1}},
|
||||
{Keys: bson.M{"priority": 1}},
|
||||
{Keys: bson.M{"parent_id": 1}},
|
||||
{Keys: bson.M{"has_sub": 1}},
|
||||
{Keys: bson.M{"created_ts": -1}, Options: (&options.IndexOptions{}).SetExpireAfterSeconds(60 * 60 * 24 * 30)},
|
||||
{Keys: bson.M{"node_id": 1, "status": 1}},
|
||||
{Keys: bson.D{{Key: "spider_id", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "status", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "node_id", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "schedule_id", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "type", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "mode", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "priority", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "parent_id", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "has_sub", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "created_ts", Value: -1}}, Options: (&options.IndexOptions{}).SetExpireAfterSeconds(60 * 60 * 24 * 30)},
|
||||
{Keys: bson.D{{Key: "node_id", Value: 1}, {Key: "status", Value: 1}}},
|
||||
})
|
||||
|
||||
// task stats
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.TaskStat{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"created_ts": -1}, Options: (&options.IndexOptions{}).SetExpireAfterSeconds(60 * 60 * 24 * 30)},
|
||||
{Keys: bson.D{{Key: "created_ts", Value: -1}}, Options: (&options.IndexOptions{}).SetExpireAfterSeconds(60 * 60 * 24 * 30)},
|
||||
})
|
||||
|
||||
// schedules
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.Schedule{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"name": 1}},
|
||||
{Keys: bson.M{"spider_id": 1}},
|
||||
{Keys: bson.M{"enabled": 1}},
|
||||
{Keys: bson.D{{Key: "name", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "spider_id", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "enabled", Value: 1}}},
|
||||
})
|
||||
|
||||
// users
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.User{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"username": 1}, Options: (&options.IndexOptions{}).SetUnique(true)},
|
||||
{Keys: bson.M{"role": 1}},
|
||||
{Keys: bson.M{"role_id": 1}},
|
||||
{Keys: bson.M{"email": 1}},
|
||||
{Keys: bson.D{{Key: "username", Value: 1}}, Options: (&options.IndexOptions{}).SetUnique(true)},
|
||||
{Keys: bson.D{{Key: "role", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "role_id", Value: 1}}},
|
||||
{Keys: bson.D{{Key: "email", Value: 1}}},
|
||||
})
|
||||
|
||||
// settings
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.Setting{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"key": 1}, Options: options.Index().SetUnique(true)},
|
||||
{Keys: bson.D{{Key: "key", Value: 1}}, Options: options.Index().SetUnique(true)},
|
||||
})
|
||||
|
||||
// tokens
|
||||
RecreateIndexes(mongo.GetMongoCol(service.GetCollectionNameByInstance(models.Token{})), []mongo2.IndexModel{
|
||||
{Keys: bson.M{"name": 1}},
|
||||
{Keys: bson.D{{Key: "name", Value: 1}}},
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user