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

sails-mongo

Package Overview
Dependencies
Maintainers
7
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sails-mongo

Mongo DB adapter for Sails.js/Waterline.

  • 2.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
827
decreased by-71.08%
Maintainers
7
Weekly downloads
 
Created
Source

Node.js and MongoDB on Sails.js/Waterline

sails-mongo

Sails.js/Waterline adapter for MongoDB. (See compatibility for more details.)

Provides easy access to MongoDB from Sails.js & Waterline. This module is a Sails/Waterline adapter maintained by the core team. Its goal is to provide robust, easy-to-use access to MongoDB from Sails.js and Waterline.

As an adapter, this module implements a set of declarative interfaces, conventions, and best-practices for integrating with Mongo databases. Strict adherence to an adapter specification enables the (re)use of built-in generic test suites, standardized documentation, reasonable expectations around the API for your users, and overall, a more pleasant development experience for everyone.

Installation

To install this adapter, run:

$ npm install sails-mongo

Then connect the adapter to one or more of your app's datastores.

Usage

Visit Models & ORM in the docs for more information about using models, datastores, and adapters in your app/microservice. For a low-level usage example, check out the tutorial.

Compatibility

This version of the adapter has been tested with MongoDB versions 3.6, 4.0, and 4.2. It uses MongoDB 3.5.x connection options. If you're upgrading from an older version, note that there are some updated, changed, new and deprecated options.

This adapter implements the following methods:

MethodStatusLayer
registerDatastoreImplementedN/A
teardownImplementedN/A
validateModelDefImplementedModeled
createRecordImplementedModeled (DML)
createEachRecordImplementedModeled (DML)
updateRecordsImplementedModeled (DML)
destroyRecordsImplementedModeled (DML)
findRecordsImplementedModeled (DQL)
joinnot supportedModeled (DQL)
countRecordsImplementedModeled (DQL)
sumRecordsImplementedModeled (DQL)
avgRecordsImplementedModeled (DQL)
definePhysicalModelImplementedMigratable
dropPhysicalModelImplementedMigratable
setPhysicalSequencenot supportedMigratable

Questions?

See Extending Sails > Adapters > Custom Adapters in the Sails documentation, or check out recommended support options.

Contributing   Build Status   Build status on Windows

Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.

NPM

Development and Test

This repository includes a Docker Compose file that helps setting up the environment needed to run the test.

The npm test command expects a local MongoDB instance running.

For convenience, some new npm scripts are available:

  • npm run start-mongodb: Starts MongoDB docker instance
  • npm run stop-mongodb: Stops MongoDB docker instance
  • npm run mongodb-shell: Runs the MongoDB shell CLI, connects to the instance started by the npm run start-mongodb command.

This simplifies development as you do not need to have a MongoDB instance running on the development computer.

Notice that if you do have a local MongoDB instance, then, there might be port conflicts if you run the docker version. The docker version is configured to run on the standard port 27017.

The normal development workflow would now be:

  • When starting a development session, npm run start-mongdb
  • Now we can execute npm test as many times as needed
  • When finishing a development session, npm run stop-mongdb

The npm run docker-test command runs the tests on a single run under the latest MongoDB version (at the time 4.2). It automatically starts a MongoDB docker instance, and it stops it. This is useful for one time local tests. Note that since this command stops MongoDB, npm test will fail.

When running automation tests in Travis, the module is tested under a combination of Node.js 10, 12, 14 and MongoDB: 3.6, 4.0, 4.2.

When running automation tests in AppVeyor, the module is tested under a combination of Node.js 10, 12, 14 and the MongoDB version that AppVeyor supports. Multiple MongoDB version are not tested in AppVeyor.

For more information, check MongoDB's Support Policy.

To run tests while developing, you can run npm run docker. This command opens a docker instance and opens a shell. From there you can run npm test to run the tests as many times as you need.

Special thanks

Thanks so much to Ted Kulp (@tedkulp) and Robin Persson (@prssn) for building the first version of this adapter back in 2013. Since then, it has evolved into a core adapter within the framework.

Bugs   NPM version

To report a bug, click here.

License

This core adapter is available under the MIT license.

As for Waterline and the Sails framework? They're free and open-source under the MIT License.

© The Sails Co.

image_squidhome@2x.png

Keywords

FAQs

Package last updated on 07 Dec 2023

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