New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

gatsby-source-mongodb

Package Overview
Dependencies
Maintainers
1
Versions
366
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gatsby-source-mongodb

Stub description for gatsby-source-mongodb

  • 1.5.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.3K
decreased by-44.85%
Maintainers
1
Weekly downloads
 
Created
Source

gatsby-source-mongodb

Source plugin for pulling data into Gatsby from MongoDB collections.

How to use

// In your gatsby-config.js
module.exports = {
  plugins: [
    /*
     * Gatsby's data processing layer begins with “source” plugins. Here we
     * setup the site to pull data from the "documents" collection in a local
     * MongoDB instance
     */
    {
      resolve: `gatsby-source-mongodb`,
      options: { dbName: `local`, collection: `documents` },
    }
  ],
}

Plugin options

  • dbName: indicates the database name that you want to use
  • collection: the collection name within Mongodb
  • server: contains the server info, with sub properties address and port ex. server: { address: ds143532.mlab.com, port: 43532 }. Defaults to a server running locally on the default port.
  • auth: the authentication data to login a Mongodb collection, with sub properties user and password. ex. auth: { user: admin, password: 12345 }

Mapping mediatype feature

Gatsby supports transformer plugins that know how to transform one data type to another e.g. markdown to html. In the plugin options you can setup "mappings" for fields in your collections. You can tell Gatsby that a certain field is a given media type and with the correct transformer plugins installed, your data will be transformed automatically.

Let's say we have a markdown field named body in our mongoDB collection. We want to author our content in markdown but want to transform the markdown to HTML for including in our React components.

To do this, we modify the plugin configuration in gatsby-config.js like follows:

module.exports = {
  plugins: [
    {
      resolve: `gatsby-source-mongodb`,
      options: {
        dbName: `local`,
        collection: `documents`
        map: {
          body: `text/x-markdown`,
        },
      },
    }
  ],
}

The GraphQL query to get the transformed markdown would look something like this.

query ItemQuery($id: String!) {
    mongodbCloudDocuments(id: { eq: $id }) {
      id
      name
      url
      body {
          childMarkdownRemark {
              id
              html
          }
      }
    }
  }

How to query your MongoDB data using GraphQL

Below is a sample query for fetching all MongoDB document nodes from a db named 'Cloud' and a collection named 'documents'.

query PageQuery {
    allMongodbCloudDocuments {
      edges {
        node {
           id
           url
           name
        }
      }
    }
  }

Keywords

FAQs

Package last updated on 19 Aug 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc