Adds indexes for query optimization
This commit is contained in:
@@ -12,6 +12,7 @@ import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.model.Accumulators;
|
||||
import com.mongodb.client.model.Aggregates;
|
||||
|
||||
import com.mongodb.client.model.Indexes;
|
||||
import com.mongodb.client.model.Sorts;
|
||||
import org.bson.Document;
|
||||
|
||||
@@ -36,11 +37,55 @@ public class Database {
|
||||
Database(){
|
||||
mongoClient = new MongoClient();
|
||||
database = mongoClient.getDatabase(pocDatabase);
|
||||
MongoCollection<Document> cardCollection = database.getCollection("cards");
|
||||
cardCollection.createIndex(Indexes.ascending("timestamp", "strokeNumber"));
|
||||
|
||||
MongoCollection<Document> wellDataCollection = database.getCollection("wellData");
|
||||
wellDataCollection.createIndex(Indexes.ascending("timestamp", "tagName"));
|
||||
|
||||
MongoCollection<Document> gaugeOffCollection = database.getCollection("gaugeOff");
|
||||
gaugeOffCollection.createIndex(Indexes.ascending("timestamp", "tagName"));
|
||||
|
||||
|
||||
MongoCollection<Document> wellTestCollection = database.getCollection("wellTests");
|
||||
wellTestCollection.createIndex(Indexes.ascending("testStartTime"));
|
||||
|
||||
MongoCollection<Document> fluidShotsCollection = database.getCollection("fluidShots");
|
||||
fluidShotsCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
MongoCollection<Document> runStatusCollection = database.getCollection("runStatus");
|
||||
runStatusCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
MongoCollection<Document> wellConfigCollection = database.getCollection("wellConfiguration");
|
||||
wellConfigCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
|
||||
}
|
||||
|
||||
Database(String dbHostname){
|
||||
mongoClient = new MongoClient(dbHostname);
|
||||
database = mongoClient.getDatabase(pocDatabase);
|
||||
MongoCollection<Document> cardCollection = database.getCollection("cards");
|
||||
cardCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
MongoCollection<Document> wellDataCollection = database.getCollection("wellData");
|
||||
wellDataCollection.createIndex(Indexes.ascending("timestamp", "tagName"));
|
||||
|
||||
MongoCollection<Document> gaugeOffCollection = database.getCollection("gaugeOff");
|
||||
gaugeOffCollection.createIndex(Indexes.ascending("timestamp", "tagName"));
|
||||
|
||||
|
||||
MongoCollection<Document> wellTestCollection = database.getCollection("wellTests");
|
||||
wellTestCollection.createIndex(Indexes.ascending("testStartTime"));
|
||||
|
||||
MongoCollection<Document> fluidShotsCollection = database.getCollection("fluidShots");
|
||||
fluidShotsCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
MongoCollection<Document> runStatusCollection = database.getCollection("runStatus");
|
||||
runStatusCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
MongoCollection<Document> wellConfigCollection = database.getCollection("wellConfiguration");
|
||||
wellConfigCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
}
|
||||
|
||||
public long getLastStrokeNum(){
|
||||
@@ -159,7 +204,6 @@ public class Database {
|
||||
|
||||
public long newWellTest(WellTest inp){
|
||||
MongoCollection<Document> collection = database.getCollection("wellTests");
|
||||
|
||||
Document doc = new Document("testStartTime", Date.from(inp.getTestStart().toInstant()))
|
||||
.append("testHours", inp.getTestHours())
|
||||
.append("testTotalBBL", inp.getTotalFluidBBL())
|
||||
@@ -230,7 +274,6 @@ public class Database {
|
||||
|
||||
public long newRunStatus(String runStatus, String initiator){
|
||||
MongoCollection<Document> collection = database.getCollection("runStatus");
|
||||
|
||||
Document doc = new Document("status", runStatus)
|
||||
.append("initiator", initiator)
|
||||
.append("timestamp", Date.from(ZonedDateTime.now().toInstant()));
|
||||
@@ -258,7 +301,6 @@ public class Database {
|
||||
|
||||
public long storeWellSetup(Well thisWell){
|
||||
MongoCollection<Document> collection = database.getCollection("wellConfiguration");
|
||||
|
||||
ArrayList<Document> taperArr = new ArrayList<Document>();
|
||||
for (int i = 1; i <= thisWell.getNumTapers(); i++){
|
||||
Document tap = new Document("length", thisWell.getRodLength(i))
|
||||
|
||||
Reference in New Issue
Block a user