Numbers Prefer Multiplication

    find-or-create-mongoose

    0.1.2 • Public • Published

    Mongoose findOrCreate plugin CircleCI

    A findOrCreate plugin that's atomic. A necessary characteristic for use in scaled, distributed systems. Achieved by reducing the findOrCreate determination to a single mongo operation.

    How To Use

    You can set the plugin on the mongoose instance:

    // app.js
    const mongoose = require('mongoose');
    const findOrCreate = requir ('find-or-create-mongoose');
    mongoose.plugin(findOrCreate);
    

    Or on individual schemas:

    // people.model.js
    
    const findOrCreate = require('find-or-create-mongoose');
    
    const schema = new mongoose.Schema({
      name: { type: String },
      age: { type: Number }
    });
    
    schema.plugin(findOrCreate);
    
    module.exports = mongoose.model('People', schema, 'people');
    

    Then use it ...

    // people.controller.js
    
    const findBy = { name: 'John' };
    const onCreate = { name: 'John', age: 29 };
    
    const result = await model.findOrCreate(findBy, onCreate);
    
    /*
     * result === {
     *	writeResult: 'create' / 'find',
     *	document: { THE_MONGO_RECORD }
     * }
    **/
    

    Install

    npm i find-or-create-mongoose

    DownloadsWeekly Downloads

    0

    Version

    0.1.2

    License

    ISC

    Unpacked Size

    4.23 kB

    Total Files

    4

    Last publish

    Collaborators

    • samsmith453