Skip to content

Instantly share code, notes, and snippets.

View mrlynn's full-sized avatar
🌐
Philadelphia, PA

Michael Lynn mrlynn

🌐
Philadelphia, PA
  • MongoDB
  • Yardley, PA
View GitHub Profile
@mrlynn
mrlynn / remote react bootstrap table example
Created June 3, 2018 22:49 — forked from xabikos/remote react bootstrap table example
An example of a react bootstrap table that fetches the data asynchronously when navigating between pages and when changing the page size
import React, {Component} from 'react';
import {BootstrapTable, TableHeaderColumn} from 'react-bootstrap-table';
import _ from 'lodash';
const dataTable = _.range(1, 60).map(x => ({id: x, name: `Name ${x}`, surname: `Surname ${x}`}));
// Simulates the call to the server to get the data
const fakeDataFetcher = {
fetch(page, size) {
return new Promise((resolve, reject) => {
@mrlynn
mrlynn / atlas_ip_whitelist.py
Created June 13, 2018 14:50 — forked from adamchel/atlas_ip_whitelist.py
Script to generate a cURL command that bulk adds IPs to a MongoDB Atlas Group IP whitelist.
#
# Generates a cURL command to add IPs to an MongoDB Atlas Group IP whitelist.
#
import sys
atlas_user = sys.argv[1]
atlas_api_key = sys.argv[2]
atlas_group_id = sys.argv[3]
whitelist_file = sys.argv[4] # Each IP or CIDR block should be separated by a newline
@mrlynn
mrlynn / mongodb-stitch-kinesis-putrecord.js
Last active July 22, 2018 21:18
Example MongoDB Stitch Serverless Function to call an Amazon Kinesis to put a record
exports = function(event){
const awsService = context.services.get('aws');
console.log(JSON.stringify(event.fulldocument));
try{
awsService.kinesis().PutRecord({
Data: JSON.stringify(event.fullDocument),
StreamName: "stitchStream",
PartitionKey: "1"
}).then(function(response) {
return response;
@mrlynn
mrlynn / mongodb-stitch-kinesis-putrecord-2.js
Last active July 24, 2018 13:39
MongoDB Atlas Stitch Example Function Integrating with Amazon Kinesis
exports = function(event){
const db = context.services.get("mongodb-atlas").db("streamdata");
const clickdata = db.collection("clickdata");
const awsService = context.services.get('aws');
const geoAPI = "http://ip-api.com/json/";
const eventFullDocument = event.fullDocument;
const eventDoc = event;
const eventIP = eventFullDocument.ipaddress;
const url = geoAPI + eventIP;
const locationService = context.services.get("locationService");
@mrlynn
mrlynn / whitelist-atlas-aws.sh
Last active August 10, 2018 01:19
AWS CLI Whitelist MongoDB Atlas Live Import IP Ranges
#!/bin/sh
# Enter the connection details of your existing MongoDB cluster.
# NOTE: In order for to process the migration request, our servers need to be able to access your source cluster. Make sure to whitelist the following ip address ranges in your firewall.
# 4.35.16.128/25
# 35.170.231.208/32
# 4.71.186.128/25
# 54.84.208.96/32
MYIP=`dig +short myip.opendns.com @resolver1.opendns.com`
export SG=MySecurityGroup
@mrlynn
mrlynn / send_sms_text_mongodb_stitch.js
Created September 20, 2018 17:26
Send an SMS Text Message with MongoDB Stitch
exports = function(message) {
const mongodb = context.services.get("mongodb-atlas");
const coll = mongodb.db("db").collection("users");
const twilio = context.services.get("my-twilio-service");
const yourTwilioNumber = context.values.get("twilioNumber");
coll.find().toArray().then(users => {
users.forEach(user => twilio.send({
to: user.phone,
from: yourTwilioNumber,
body: message
@mrlynn
mrlynn / index.html
Created October 30, 2018 08:42
MongoDB Stitch - Getting Started
<!-- Base Stitch Browser SDK -->
<script src="https://s3.amazonaws.com/stitch-sdks/js/bundles/4.0.14/stitch.js"></script>
<div class="results-bar">
<p>Count of Results:</p>
<span id="num-results" class="results-bar__count"></span>
</div>
<table class="table table-striped">
<thead class="thead">
<tr>
exports = async function (payload) {
const mongodb = context.services.get("mongodb-atlas");
const exampledb = mongodb.db("exampledb");
const examplecoll = exampledb.collection("examplecoll");
const args = payload.query.text.split(" ");
switch (args[0]) {
case "stash":
const result = await examplecoll.insertOne({
user_id: payload.query.user_id,
when: Date.now(),
var countOuter = 0;
var countInner = 0;
var countSwap = 0;
array = [3,9,4,5,1,200,2,88]
dump(array);
var swapped;
do {
countOuter++;
@mrlynn
mrlynn / removeEvent.js
Created March 3, 2019 11:31
MongoDB Stitch Delete Events Example
exports = async function(payload) {
const mongodb = context.services.get("mongodb-atlas");
const eventsdb = mongodb.db("events");
const eventscoll = eventsdb.collection("events");
const delresult = await eventscoll.deleteOne({name:payload.query.name, location: payload.query.location});
return { text: `Deleted ${delresult.deletedCount} items` };
};