config service: fix not upserting documents when setting config keys
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user