Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

btrz-mongo-factory

Package Overview
Dependencies
Maintainers
2
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

btrz-mongo-factory

"A factory to create data in a mongoDb using chance and Json-Schema"

  • 4.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

btrz-mongo-factory

Factory to create data in mongodb from a json-schema with the ability to override values.

Runtimes supported

io.js >= 1.0.3 node v0.11.x with the --harmony flag

Usage

Add the module to your package.json directly or just run

npm install btrz-mongo-factory --save

You need to create fixture files. Each file can contain more than one fixture.Fixtures define an object using Json-Schema.

We took a dependency on json-schema-faker to auto-generate objects based on those schemas and save to the db. Given you have a fixture named "user", you can create and save a an object with the user schema into a MongoDb collection by the name of user with one call.

let options = {
    fixtures: `${__dirname}/fixtures`,
    "db": {
        "options": {
            "database": "btrzMongoFactory",
            "username": "",
            "password": ""
        },
        "uris": [
            "127.0.0.1:27017"
        ]
    }
};
let factory = new MongoFactory(options);
factory.create("user");
.create()

You can create a single user with random values calling the create method with the fixture name.

factory.create("user");

You can override one or more values for the object given an options literal with the desired values to the create method of the factory.

factory.create("user", {name: "John Smith"});

The user will be create with the name: John Smith.

If your schema have $ref you can pass that as the third parameter. (Leave the second parameter empty if you don't want to override anything);

// addressSchema is another schema
factory.create("user", {}, addressSchema);

You can create multiple users at once using the createList methods.

factory.createList("user", 3);

This will create 3 records in mongo for the user collection. They will all be different.

Of course, you can override values on those objects. Notice that the override will be applied to all the records.

Ex: We want to make sure all user(s) are "active".

factory.createList("user", 4, {status: "active"});

This will create 4 users and they all will be active.

You can clean up the db calling the clearAll method.

This method will remove all objects created by the instance.

factory.clearAll();

Fixtures and schemas

Keywords

FAQs

Package last updated on 26 Apr 2022

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