config service: fix not upserting documents when setting config keys

This commit is contained in:
Adam
2019-04-13 19:50:25 -04:00
parent 31a044887d
commit 412505a10f

View File

@@ -32,6 +32,7 @@ import com.mongodb.client.MongoDatabase;
import static com.mongodb.client.model.Filters.eq; import static com.mongodb.client.model.Filters.eq;
import com.mongodb.client.model.IndexOptions; import com.mongodb.client.model.IndexOptions;
import com.mongodb.client.model.Indexes; import com.mongodb.client.model.Indexes;
import com.mongodb.client.model.UpdateOptions;
import static com.mongodb.client.model.Updates.set; import static com.mongodb.client.model.Updates.set;
import static com.mongodb.client.model.Updates.unset; import static com.mongodb.client.model.Updates.unset;
import java.util.ArrayList; import java.util.ArrayList;
@@ -53,6 +54,7 @@ import org.springframework.stereotype.Service;
public class ConfigService public class ConfigService
{ {
private final Gson GSON = RuneLiteAPI.GSON; private final Gson GSON = RuneLiteAPI.GSON;
private final UpdateOptions upsertUpdateOptions = new UpdateOptions().upsert(true);
private final MongoCollection<Document> mongoCollection; private final MongoCollection<Document> mongoCollection;
@@ -140,7 +142,8 @@ public class ConfigService
Object jsonValue = parseJsonString(value); Object jsonValue = parseJsonString(value);
mongoCollection.updateOne(eq("_userId", userId), mongoCollection.updateOne(eq("_userId", userId),
set(split[0] + "." + split[1].replace('.', ':'), jsonValue)); set(split[0] + "." + split[1].replace('.', ':'), jsonValue),
upsertUpdateOptions);
} }
public void unsetKey( public void unsetKey(