with Weatherbit.io and MongoDB?
Fetch current weather from a location. See docs here
Create a new document in a collection of your choice. See the docs here
Fetch daily forecast weather from a location. See docs here
Fetch historical wheater data from a location. See docs here
The Weatherbit.io API offers real-time weather data, forecasts, and historical weather information. By integrating this API with Pipedream, you can automate tasks based on weather conditions, set up alerts, or enrich your app with weather data. This can range from triggering workflows when certain weather thresholds are met, to augmenting business data with weather insights, or automating smart home devices in response to the weather.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
weatherbit_io: {
type: "app",
app: "weatherbit_io",
}
},
async run({steps, $}) {
return await axios($, {
url: `http://api.weatherbit.io/v2.0/current`,
params: {
key: `${this.weatherbit_io.$auth.api_key}`,
city: `{your_city}`,
},
})
},
})
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()
},
})