{"_id":"mongoose-faucet","_rev":"33-49671253bd5860ef8e11f9dcc9f7f5fb","name":"mongoose-faucet","description":"An easy way to process large document sets with mongoose.","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.0":{"name":"mongoose-faucet","version":"0.0.0","description":"An easy way to process large document sets with mongoose.","main":"index.js","scripts":{"test":"./node_modules/.bin/mocha --compilers coffee:coffee-script","prepublish":"./node_modules/.bin/coffee --compile index.coffee"},"repository":{"type":"git","url":"https://github.com/idottv/mongoose-faucet"},"keywords":["mongoose"],"author":{"name":"Layne Moseley"},"license":"MIT","devDependencies":{"mocha":"~1.9.0","coffee-script":"~1.6.2","async":"0.2.8"},"dependencies":{"mongoose":"3.6.8"},"readme":"mongoose-faucet\n===============\n\nAn easy way to process large document sets with mongoose.\n","readmeFilename":"README.md","_id":"mongoose-faucet@0.0.0","dist":{"shasum":"6c233f1ac47c228c8fbdad63253f2c72d7794534","tarball":"https://registry.npmjs.org/mongoose-faucet/-/mongoose-faucet-0.0.0.tgz","integrity":"sha512-UMv6+7XVgPLgMvgk8rUiOwiM7nkpcv0x/XDehxHl7F4i2UPKE0RSCneTZtt5yJZeDrk5gultuoz7vspfpTOiZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUPhlfvzRPqp9IxujOCB0gNMUZ6BaYOc8YJhNF3LsWGwIgHhn93lwoOfWlGNLPmqLFwJlduoC1aM8Em2k/sybOMVU="}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"laynemoseley","email":"laynemoseley@gmail.com"},"maintainers":[{"name":"laynemoseley","email":"laynemoseley@gmail.com"}],"directories":{}},"0.1.0":{"name":"mongoose-faucet","version":"0.1.0","description":"An easy way to process large document sets with mongoose.","main":"index.js","scripts":{"test":"./node_modules/.bin/mocha --compilers coffee:coffee-script","prepublish":"./node_modules/.bin/coffee --compile index.coffee"},"repository":{"type":"git","url":"https://github.com/idottv/mongoose-faucet"},"keywords":["mongoose"],"author":{"name":"Layne Moseley"},"license":"MIT","devDependencies":{"mocha":"~1.9.0","coffee-script":"~1.6.2","mongoose":"3.6.8"},"dependencies":{"async":"0.2.8"},"readme":"mongoose-faucet\n===============\n\nAn easy way to process large document sets with mongoose.\n\nIf you have ever tried to run some migration operation on a few million documents, you have probably run into problems with either memory usage or parallelization.\n\nFaucet helps by iterating your mongoose model in a throttled way so all you have to worry about is your single update\n\n## API\n```\nfaucet = require \"mongoose-faucet\"\nfaucet MongooseModel, query, processingFunction, [options], cb\n```\nwhere\n- `query` is a json mongo query\n- `processingFunction` is a function that takes a document and a callback\n\n`options` is an optional parameter hash that defines a few things, here are the defaults\n```\n{\n  \"concurrency\" : 100, // the number of concurrent updates that can run\n  \"snapshot\": false, // run a snapshot query, this is often neccesary as iterating over a cursor can present the same document multiple times\n  \"lean\" : false // lean your mongoose documents\n}\n\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/idottv/mongoose-faucet/issues"},"_id":"mongoose-faucet@0.1.0","dist":{"shasum":"b7f60ac924b379a7613e172cdc476aaa9a404518","tarball":"https://registry.npmjs.org/mongoose-faucet/-/mongoose-faucet-0.1.0.tgz","integrity":"sha512-iVoX/y/VH0N260mN3EDvaS4gHwR/MQsY1tbZw58n+4inGq5I2mT3OYQvMQ/tsdurDWF3YjPfP/RjvNnt6M7KIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtHbdWUnjsRyjB7sjGpoGAlTshPL9nAsQhsJJ4+nnHsAiEAhlyqj+7dH9N2gybhOzulTOJP4Kj5VRDkpblnxrIlucE="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"laynemoseley","email":"laynemoseley@gmail.com"},"maintainers":[{"name":"laynemoseley","email":"laynemoseley@gmail.com"}],"directories":{}},"0.1.1":{"name":"mongoose-faucet","version":"0.1.1","description":"An easy way to process large document sets with mongoose.","main":"index.js","scripts":{"test":"./node_modules/.bin/mocha --compilers coffee:coffee-script","prepublish":"./node_modules/.bin/coffee --compile index.coffee"},"repository":{"type":"git","url":"https://github.com/idottv/mongoose-faucet"},"keywords":["mongoose"],"author":{"name":"Layne Moseley"},"license":"MIT","devDependencies":{"mocha":"~1.9.0","coffee-script":"~1.6.2","mongoose":"3.6.8"},"dependencies":{"async":"0.2.8"},"readme":"mongoose-faucet\n===============\n\nAn easy way to process large document sets with mongoose.\n\nIf you have ever tried to run some migration operation on a few million documents, you have probably run into problems with either memory usage or parallelization.\n\nFaucet helps by iterating your mongoose model in a throttled way so all you have to worry about is your single update\n\n## API\n```\nfaucet = require \"mongoose-faucet\"\nfaucet MongooseModel, query, processingFunction, [options], cb\n```\nwhere\n- `query` is a json mongo query\n- `processingFunction` is a function that takes a document and a callback\n\n`options` is an optional parameter hash that defines a few things, here are the defaults\n```\n{\n  \"concurrency\" : 100, // Default: 100. The number of concurrent updates that can run\n  \"snapshot\": true, // Default: true. Run a snapshot query, this is often neccesary as iterating over a cursor can present the same document multiple times.\n  \"lean\" : false // Default: false. Lean your mongoose documents\n}\n\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/idottv/mongoose-faucet/issues"},"_id":"mongoose-faucet@0.1.1","dist":{"shasum":"619d6b0e5e89e595ed0854008021032c42baa1e6","tarball":"https://registry.npmjs.org/mongoose-faucet/-/mongoose-faucet-0.1.1.tgz","integrity":"sha512-/IOPzzyxQDlhicKiFi6SthWeBbgClA/GZ6juuEa8sHphTY1THmTcll8PYjGk++pIQ5FscAlXUaXutDH/X6E7ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrTJSmWmGuJVE4ifPGWIFHKxQQW0dLGIn6ZZ8EOykmhwIhAKinE0aJVGUvKUx5m30bpxY1aK/X06TdqLgJXakWMxHF"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"laynemoseley","email":"laynemoseley@gmail.com"},"maintainers":[{"name":"laynemoseley","email":"laynemoseley@gmail.com"}],"directories":{}},"0.1.2":{"name":"mongoose-faucet","version":"0.1.2","description":"An easy way to process large document sets with mongoose.","main":"index.js","scripts":{"test":"./node_modules/.bin/mocha --compilers coffee:coffee-script","prepublish":"./node_modules/.bin/coffee --compile index.coffee"},"repository":{"type":"git","url":"https://github.com/idottv/mongoose-faucet"},"keywords":["mongoose"],"author":{"name":"Layne Moseley"},"license":"MIT","devDependencies":{"mocha":"~1.9.0","coffee-script":"~1.6.2","mongoose":"3.6.8"},"dependencies":{"async":"0.2.8"},"readme":"mongoose-faucet\n===============\n\nAn easy way to process large document sets with mongoose.\n\nIf you have ever tried to run some migration operation on a few million documents, you have probably run into problems with either memory usage or parallelization.\n\nFaucet helps by iterating your mongoose model in a throttled way so all you have to worry about is your single update\n\n# Install\n```\nnpm install mongoose-faucet\n```\n\n## API\n```\nfaucet = require \"mongoose-faucet\"\nfaucet MongooseModel, query, processingFunction, [options], cb\n```\nwhere\n- `query` is a json mongo query\n- `processingFunction` is a function that takes a document and a callback\n\n`options` is an optional parameter hash that defines a few things, here are the defaults\n```\n{\n  \"concurrency\" : 100, // Default: 100. The number of concurrent updates that can run\n  \"snapshot\": true, // Default: true. Run a snapshot query, this is often neccesary as iterating over a cursor can present the same document multiple times.\n  \"lean\" : false // Default: false. Lean your mongoose documents\n  \"batch\" : 1000 // If batch is defined, processingFunction will be passed an array of size \"batch\" instead of a single item\n}\n\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/idottv/mongoose-faucet/issues"},"_id":"mongoose-faucet@0.1.2","dist":{"shasum":"a21e92c3bf73ff688b49c1f8b1207f9ad040afcf","tarball":"https://registry.npmjs.org/mongoose-faucet/-/mongoose-faucet-0.1.2.tgz","integrity":"sha512-mNz2wS4XKnf1XNdUDdggu8Ds6LcjU98wf5pTRZcfHVntGaBZ7S6Ac2yvjb4SXt8qcXnF/DMTzyvXuQJbQKYgTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8kouWRRiAfhhn6XGU+BmUqRXQt02sSMWwaSvCI4KAVQIhAM5KnRK7ZenCpwR57HSfPoHVTGruEfNO9y18BD/4Jv45"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"laynemoseley","email":"laynemoseley@gmail.com"},"maintainers":[{"name":"laynemoseley","email":"laynemoseley@gmail.com"}]},"0.1.3":{"name":"mongoose-faucet","version":"0.1.3","description":"An easy way to process large document sets with mongoose.","main":"index.js","scripts":{"test":"./node_modules/.bin/mocha --compilers coffee:coffee-script","prepublish":"./node_modules/.bin/coffee --compile index.coffee"},"repository":{"type":"git","url":"https://github.com/idottv/mongoose-faucet"},"keywords":["mongoose"],"author":{"name":"Layne Moseley"},"license":"MIT","devDependencies":{"mocha":"~1.9.0","coffee-script":"~1.6.2","mongoose":"3.6.8"},"dependencies":{"async":"0.2.8"},"readme":"mongoose-faucet\n===============\n\nAn easy way to process large document sets with mongoose.\n\nIf you have ever tried to run some migration operation on a few million documents, you have probably run into problems with either memory usage or parallelization.\n\nFaucet helps by iterating your mongoose model in a throttled way so all you have to worry about is your single update\n\n# Install\n```\nnpm install mongoose-faucet\n```\n\n## API\n```\nfaucet = require \"mongoose-faucet\"\nfaucet MongooseModel, query, processingFunction, [options], cb\n```\nwhere\n- `query` is a json mongo query\n- `processingFunction` is a function that takes a document and a callback\n\n`options` is an optional parameter hash that defines a few things, here are the defaults\n```\n{\n  \"concurrency\" : 100, // Default: 100. The number of concurrent updates that can run\n  \"snapshot\": true, // Default: true. Run a snapshot query, this is often neccesary as iterating over a cursor can present the same document multiple times.\n  \"lean\" : false // Default: false. Lean your mongoose documents\n  \"batch\" : 1000 // If batch is defined, processingFunction will be passed an array of size \"batch\" instead of a single item\n}\n\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/idottv/mongoose-faucet/issues"},"_id":"mongoose-faucet@0.1.3","dist":{"shasum":"6289e517c2904af14ec3a05bfa228daa1f8d95fa","tarball":"https://registry.npmjs.org/mongoose-faucet/-/mongoose-faucet-0.1.3.tgz","integrity":"sha512-v6fUNStmx1jNWk6poO0qF+aczqnGZz5wFru1veWGfniNOM7xIH8pD/6II9BH/ny3Ybk4QCT7Sa0owk6uA1bR9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSfrU+bWtLgiXZKVHRXfxlR8wUzCu+cvZT/oXNEt4SZwIgOCahsogecfZrtudlOigBaz9SPuL3A12I9WuKLyB8LZ0="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"laynemoseley","email":"laynemoseley@gmail.com"},"maintainers":[{"name":"laynemoseley","email":"laynemoseley@gmail.com"}]}},"readme":"mongoose-faucet\n===============\n\nAn easy way to process large document sets with mongoose.\n","maintainers":[{"name":"laynemoseley","email":"laynemoseley@gmail.com"}],"time":{"modified":"2022-06-20T07:10:10.919Z","created":"2013-05-01T21:20:13.733Z","0.0.0":"2013-05-01T21:20:14.798Z","0.1.0":"2013-11-20T20:57:30.789Z","0.1.1":"2013-11-20T21:17:17.383Z","0.1.2":"2013-12-05T19:03:42.767Z","0.1.3":"2013-12-05T19:10:43.442Z"},"author":{"name":"Layne Moseley"},"repository":{"type":"git","url":"https://github.com/idottv/mongoose-faucet"}}