diff --git a/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/README.md b/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/README.md new file mode 100644 index 000000000..903391d83 --- /dev/null +++ b/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/README.md @@ -0,0 +1,9 @@ +This repo contains some simple Java console application which demonstrates how to connect to Oracle API for MongoDB instance and perform CRUD operations + +# License + +Copyright (c) 2025 Oracle and/or its affiliates. + +Licensed under the Universal Permissive License (UPL), Version 1.0. + +See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details. diff --git a/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/java/com.oracle/Main.java b/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/java/com.oracle/Main.java new file mode 100644 index 000000000..44ef30d63 --- /dev/null +++ b/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/java/com.oracle/Main.java @@ -0,0 +1,62 @@ +package com.oracle; + +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; +import com.mongodb.client.MongoCollection; +import com.mongodb.client.MongoDatabase; +import com.mongodb.client.model.Filters; +import com.mongodb.client.model.ReplaceOptions; +import com.mongodb.client.model.UpdateOptions; +import com.mongodb.client.model.Updates; +import org.bson.Document; +import org.bson.conversions.Bson; + +//TIP To Run code, press or +// click the icon in the gutter. +public class Main { + public static void main(String[] args) { + MongoClient client; + MongoDatabase db; + String connectString = System.getenv("DB_URI"); + String dbName = System.getenv("DB_NAME"); + + try { + client = MongoClients.create(connectString); + db = client.getDatabase(dbName); + + System.out.println("Connected!"); + + MongoCollection colors = db.getCollection("colors"); + colors.deleteMany(new Document()); + System.out.println("All documents form colors collection deleted."); + + colors = db.getCollection("colors"); + Document d = new Document("name","black"); + d.append("_id","0001"); + colors.insertOne(d); + d = new Document("name","yellow"); + colors.insertOne(d); + d = new Document("name","green"); + colors.insertOne(d); + System.out.println("Inserts done."); + + Bson filter = Filters.eq("_id", "0001"); + Bson update = Updates.set("name","orange"); + UpdateOptions options = new UpdateOptions().upsert(true); + System.out.println(colors.updateOne(filter,update,options)); + System.out.println("UPDATE with UPSERT done."); + + ReplaceOptions replace = new ReplaceOptions().upsert(true); + d = new Document("_id", "0001"); + d.append("name","white"); + colors.replaceOne(filter,d,replace); + System.out.println("Replace done."); + + System.out.println("Printing all documents from colors collection"); + Bson f = Filters.empty(); + colors.find(f).forEach(doc -> System.out.println(doc.toJson())); + + } + catch (Exception e) {e.printStackTrace();} + } +} diff --git a/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/pom.xml b/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/pom.xml new file mode 100644 index 000000000..342930616 --- /dev/null +++ b/data-platform/autonomous-database/autonomous-json/BasicMongoDemo/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + com.oracle + BasicMongoDemo + 1.0-SNAPSHOT + + + 21 + 21 + UTF-8 + + + + org.mongodb + mongodb-driver-sync + 5.5.0 + + + + org.mongodb + bson + 5.5.1 + + +