import * as wmill from "https://deno.land/x/windmill@v1.19.2/mod.ts";
import { Bson, MongoClient } from "https://deno.land/x/mongo@v0.30.1/mod.ts";
/*
@param: {wmill.Resource} mongodb - Resource containing mongodb connection object
example:
await client.connect({
db: "<db_name>",
tls: true,
servers: [
{
host: "<db_cluster_url>",
port: 27017,
},
],
credential: {
username: "<username>",
password: "<password>",
db: "<db_name>",
mechanism: "SCRAM-SHA-1",
},
});
*/
export async function main(
mongodb_con: wmill.Resource<"mongodb">,
db_name: string,
collection_name: string,
data: object,
_id: string
) {
const client = new MongoClient();
// Connecting to a Mongo Atlas Database
const resp = await client.connect(mongodb_con);
const db = client.database(db_name);
const collection = db.collection(collection_name);
const { matchedCount, modifiedCount, upsertedId } = await collection.updateOne(
{ _id: ObjectID(_id), },
{ $set: data },
);
return ({ matchedCount: matchedCount, modifiedCount: modifiedCount, upsertedId: upsertedId });
}
Submitted by rossmccrann 870 days ago