Created by adam186 96 days ago Viewed 63 times 1 Point
No comments yet
import { Resource } from "https://deno.land/x/windmill@v1.70.1/mod.ts";
import { MongoClient } from "https://deno.land/x/atlas_sdk@v1.0.3/mod.ts";
/**
* @param data_source For example: `Cluster0`
*/
export async function main(
auth: Resource<"mongodb_rest">,
data_source: string,
database: string,
collection: string,
documents: Record<string, any>[]
) {
const client = new MongoClient({
endpoint: auth.endpoint,
dataSource: data_source,
auth: { apiKey: auth.api_key },
});
const docs = client.database(database).collection(collection)
let items: Record<string, any>[]
try {
items = documents.map(doc => typeof doc === 'string' ? JSON.parse(doc) : doc)
} catch(err) {
throw Error(`\nReceived array of strings in the 'documents' argument.
Attempted to parse them into objects but the process failed with the following error:\n${err}`)
}
return await docs.insertMany(items)
}
No comments yet