with Oracle Cloud Infrastructure and MongoDB?
Emit new event when a new autonomous database is created in a specified compartment. See the documentation
Emit new event when a compute instance changes state (e.g., from stopped to running). This requires instance OCID and proper event rules set up in Oracle Cloud Infrastructure. See the documentation
Emit new event when a new object is uploaded to a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Create or update an object in a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Create a new document in a collection of your choice. See the docs here
Delete an object from a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Execute an aggregation pipeline on a MongoDB collection. See the documentation
import * as common from "oci-common";
import * as identity from "oci-identity";
export default defineComponent({
props: {
oracle_cloud_infrastructure: {
type: "app",
app: "oracle_cloud_infrastructure",
},
},
async run({ steps, $ }) {
const tenancyId = this.oracle_cloud_infrastructure.$auth.tenancy_id;
const userId = this.oracle_cloud_infrastructure.$auth.user_id;
const fingerprint = this.oracle_cloud_infrastructure.$auth.fingerprint;
const regionStr = this.oracle_cloud_infrastructure.$auth.region;
const privateKey = this.oracle_cloud_infrastructure.$auth.private_key;
// Convert the region string into a Region object
const region = common.Region.fromRegionId(regionStr);
// Create a simple authentication provider using your credentials.
// If your private key has a passphrase, replace null with the passphrase.
const provider = new common.SimpleAuthenticationDetailsProvider(
tenancyId,
userId,
fingerprint,
privateKey,
null, // passphrase (if needed)
region
);
// Create an IdentityClient using the provider.
const identityClient = new identity.IdentityClient({
authenticationDetailsProvider: provider,
});
// Prepare a request to list compartments for your tenancy.
const listCompartmentsRequest = {
compartmentId: tenancyId,
};
// Call the OCI API to list compartments.
const response = await identityClient.listCompartments(listCompartmentsRequest);
// The response object contains details such as items (the list of compartments).
return response;
},
});
The MongoDB API provides powerful capabilities to interact with a MongoDB database, allowing you to perform CRUD (Create, Read, Update, Delete) operations, manage databases, and execute sophisticated queries. With Pipedream, you can harness these abilities to automate tasks, sync data across various apps, and react to events in real-time. It’s a combo that’s particularly potent for managing data workflows, syncing application states, or triggering actions based on changes to your data.
import mongodb from 'mongodb'
export default defineComponent({
props: {
mongodb: {
type: "app",
app: "mongodb",
},
collection: {
type: "string"
},
filter: {
type: "object"
}
},
async run({steps, $}) {
const MongoClient = mongodb.MongoClient
const {
database,
hostname,
username,
password,
} = this.mongodb.$auth
const url = `mongodb+srv://${username}:${password}@${hostname}/test?retryWrites=true&w=majority`
const client = await MongoClient.connect(url, {
useNewUrlParser: true,
useUnifiedTopology: true
})
const db = client.db(database)
const results = await db.collection(this.collection).find(this.filter).toArray();
$.export('results', results);
await client.close()
},
})