{"_id":"mongoose-subpopulate","_rev":"56-b7882297b38a2ef576d0338f01828a79","name":"mongoose-subpopulate","description":"Mongoose Subpopulate ====================","dist-tags":{"latest":"0.1.19"},"versions":{"0.0.1":{"name":"mongoose-subpopulate","version":"0.0.1","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","dependencies":{"mongoose":"2.7.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.0.1","description":"Mongoose Subpopulate ====================","dist":{"shasum":"8067b97978edd6def00e3bd9ac3db50bb1c5dbd9","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.0.1.tgz","integrity":"sha512-cJ41JkCLBQqcxnZ/FB07yBCKojwaqZ6Sbj5BWYWeETpnBvyz1wT2TO6JD9CamDXxeqZ8jFBa5NgTqwL9Liag8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx5g1tz3MGE23gghtqrwP888FfhNCSb18+vCNDs+QXfQIhAPk5brqiI7hEdyX+xkWnnvuPY+d0Adjt4QLeJXsAGbIf"}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.0.2":{"name":"mongoose-subpopulate","version":"0.0.2","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","dependencies":{"mongoose":"2.7.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.0.2","description":"Mongoose Subpopulate ====================","dist":{"shasum":"f9686509c47f9e51863ce520f4b5b3cb0a89d2a4","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.0.2.tgz","integrity":"sha512-aw4ggOSKt4oDITL50cyUuZmurBq3YJZOApsuX8qc8lbLt7NL5dn5oojAbSAdQPovdrb2lMbXcsYJgLEBDaXzYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChlZ1QgqABkHuG4kdDoXZVT3QYqX7mjKuP3U3q20btYwIhAM7nJn6uGK6MRWLpb5xfsamib7UKg+BKkuBQclUHgoFQ"}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.0.3":{"name":"mongoose-subpopulate","version":"0.0.3","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","dependencies":{"mongoose":"2.7.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.0.3","description":"Mongoose Subpopulate ====================","dist":{"shasum":"b9cc608f4496a89f4c84ae7b415d56913604d976","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.0.3.tgz","integrity":"sha512-WTIIM7CBouTYwcQC0mNRY650GmuPnm7gYBaWbOkdZAcjyeXQXacydYu/GehN073NMDzuPxRTufwxcWquS6EZVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcFgFHfQk3wItrBLNtGGyFNYeWouuz9+fdAFBp9dUXEAIhAK1L2BD1WuGG307OoJ4+2xMGPLDjeyaLhE4LNCY6lgBx"}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.0.4":{"name":"mongoose-subpopulate","version":"0.0.4","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","dependencies":{"mongoose":"2.7.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.0.4","description":"Mongoose Subpopulate ====================","dist":{"shasum":"9b7eef0e408f36f52f83b8f8a9bfe3a2d1601855","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.0.4.tgz","integrity":"sha512-vrjSpqDUh3YFSMwitIYiGTcI8uHzITcnIX4+Mn3Bc1vnlOS3RuoYS/LENkEE7Qt/IMSzY0McVLsffXpTScWHAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2DxK22SPNs0Om3FY2maMOcGR50AArqAZJto7imkhSwAiEAppoeui6gwnoxsPTTZJp7ck8OmJ+tL0YFWb2RCOguap0="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.0.5":{"name":"mongoose-subpopulate","version":"0.0.5","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","dependencies":{"mongoose":"2.7.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.0.5","description":"Mongoose Subpopulate ====================","dist":{"shasum":"7e86be7561227d32079196795f5bf65df188a1c1","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.0.5.tgz","integrity":"sha512-H5JUb0W9uC9vTN2ECH7Ovvq5Plp9GnuoOlWDdzC4sHb0BlAbWbqmSYPgGJ2fvoq9eO3SNvws9h43C7RFtsBekQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC88veqTY1M3QjYbcn0ysGkg7oZRu2Mw+Xu0OU96DLaKAIhAJQ9Z5+8LGrT6gJuJoYGwWR1XLV4s+mRLdAfJdDHEYDB"}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.0.6":{"name":"mongoose-subpopulate","version":"0.0.6","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","dependencies":{"mongoose":"2.7.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.0.6","description":"Mongoose Subpopulate ====================","dist":{"shasum":"b6089d7ec88aea8db92f516b23cdaf56789fe68e","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.0.6.tgz","integrity":"sha512-3IT0tS88PoJrhNBt5qgRnKv5skz46rxF1zsdIAwt0nV/jO+kkxHAUDwPt33p7BNPvn81oPLMLCXG+u1m92GrjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSgtaVH6cq3pUjjHPPMOzkDcZqIApY610GG8yVFpt7xAiAgBSJ5tZQoAIIk1CWnNTw30mW21buahPxT0BWfA1OtGQ=="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.0.7":{"name":"mongoose-subpopulate","version":"0.0.7","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"mongoose":"2.7.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.0.7","description":"Mongoose Subpopulate ====================","dist":{"shasum":"43124d154f8911e445b768d94621381b3377143f","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.0.7.tgz","integrity":"sha512-oug2F+AAwki65vfL7QkGNw7+BYfVjKl2jeRAGLHRmFugOwx6vEYQ8EsFGsOvFJT73Zsf9GYArkusSUjmrPVOqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTVeN7QuIy5JOSt00YABjErMH9T+pLCwKz1ehLV+JVZAiA2gzf+Jv2nGDWgK42ZYxrb67+HA6SjzYrvq6MtSZMV1A=="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.0":{"name":"mongoose-subpopulate","version":"0.1.0","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"mongodb":"1.1.11","mongoose":"3.3.1","async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.0","description":"Mongoose Subpopulate ====================","dist":{"shasum":"913c53bef096f7133f297cefb437a223de8d570c","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.0.tgz","integrity":"sha512-I7RsjPldernEsOWjVHIIabNOnuaTf1MlE62u9PQt98fQkLlNZ+h0LlAxziHKsUxBvot1s2yNwGJytwC98rG5rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUHgEN8Ne+eCJNYOebwW4GeEQB7UVuxxbdIb+hXQ3FJgIgX1DLVs8JVHvwj2ZWizd5Oxr4+5IoherQfHMJGWRnXXk="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.1":{"name":"mongoose-subpopulate","version":"0.1.1","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.1","description":"Mongoose Subpopulate ====================","dist":{"shasum":"399c0e4ece869a24c042b1b29cf4506b7b548c2f","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.1.tgz","integrity":"sha512-/+UY6F3yHew88qGPkm4qZ7ZLLleYeh7ucMY5oQhBZ4bXsrhOuSWB491pig8RWVFnyunaps4wqFSUBOh4R4b+Hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDCQrdKe0sufWv2Ccck6K9Sxe8eX5eTGKEWUvdT1fsgiAiEAi3Anb2RxQxfQ7G9NFCJTNJMiI4n1TzWCB7KmYhZxA+I="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.2":{"name":"mongoose-subpopulate","version":"0.1.2","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.2","description":"Mongoose Subpopulate ====================","dist":{"shasum":"238c06cdb847775014145fb461fc1ce7cecd9d4e","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.2.tgz"},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.3":{"name":"mongoose-subpopulate","version":"0.1.3","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.3","description":"Mongoose Subpopulate ====================","dist":{"shasum":"400787b415e616fff0a67188969c78689acb5123","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.3.tgz","integrity":"sha512-HSAvKUVQXNvhF1G5HkFw81T5Z8PLv9234J/1HAwiKXGhaFAlNbWdw4LqEGq4DDlW+QXLNSMwlR6gEQGWcH25DA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE4MCasGT5c2rQIYfv5WER9mn5E34RY5/mOEYgL0x1P0AiAqV4VSqhvMi9TABRtRulzNvY9MenAYB/Kvpsg0YM1Wpw=="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.4":{"name":"mongoose-subpopulate","version":"0.1.4","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.4","description":"Mongoose Subpopulate ====================","dist":{"shasum":"aa2cedc7d682dc33ec19112ae21c8a62383d2fcb","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.4.tgz","integrity":"sha512-uJZCkoKpze2637doJvVE+DfxyiuZr4BgRR+MuraqwOD93p2fsMnwREbxKfDU1GEIEHKL7wPp+VijGZtNU9vhsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcGZ4uBMyBvDaEZQmNIBQDa0wZJaIA05WGNeX4EFvYCAIhAK6q2G/I859ijrRRnugwg0CG0WO1MM7WLRtl8BcQn1d8"}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.6":{"name":"mongoose-subpopulate","version":"0.1.6","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.6","description":"Mongoose Subpopulate ====================","dist":{"shasum":"9fc9e6ca9c14ee6d6f59f943a0ac2350aefca683","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.6.tgz","integrity":"sha512-vCRlaoGI0tQuuNXTvhquk4e983cPl2h8LbUmv1QZnqj0SN2qOciqRQU1I65v6TyVjVGBWkVOGa/7U38f0mlxow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWKGeHTG2exgy6lnpEDkzn7/6/abSV0D80Eb8tGnFAPAiBvd/kLOiHqU4ppa7uyywyDF5nqj/7gqrNP92E/n25XPQ=="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.7":{"name":"mongoose-subpopulate","version":"0.1.7","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.7","description":"Mongoose Subpopulate ====================","dist":{"shasum":"df7243a985c5e4aad9feca4f63ce852015fbbf93","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.7.tgz","integrity":"sha512-xHXyvfhMBz+DcGeB7OvBkxYcod7AT9ZPjqPmV201SDVa8sOPw5rKem8F+BEAsgnG/tCdCgHFCXELAhvl032UgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB+Fx80fgYpd7XmshWmkuhR9/Prl31bT9XwueObDpyazAiBVeiGjaAifAac9Yy+tRjc1vTPNmrn7smNDToJEdXIXrw=="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.8":{"name":"mongoose-subpopulate","version":"0.1.8","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.8","description":"Mongoose Subpopulate ====================","dist":{"shasum":"45df0aa6603124a3f6edc54adcc26a019a5f1900","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.8.tgz","integrity":"sha512-i8ABtME5tnN+P2V4i/GKGHW963w1MOQ9XLX/Mnjs6BMb4TneWHfiQbuDATmDg3b+IfxvwoxU1m/i2zwmrrbBIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBxqqSncBS3xr1qRTgcZ812I3JOIOOmgPpARhyEcRbBNAiEAgDQv9ohp/x7OhwurVwv4rItx9skLmxiEVFYVuI6LQtw="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.9":{"name":"mongoose-subpopulate","version":"0.1.9","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.9","description":"Mongoose Subpopulate ====================","dist":{"shasum":"5b9de37b01e9bdef76e4dda28ab78d573f0c9805","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.9.tgz","integrity":"sha512-lEDvQ7cIVzTehFeIe4jqH3biiYqHrPlQA0r+fIuwl/DUyVogT5xd7vMeOqlkUNqVidVg82ysbrD+crz73469nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChOOH1aw15Q9OUp6GuH90QLcxGhlblkCmP8HxZlNP5ugIhAJ/OkkYkfh5MaQ/Y5b1KfEjolqsW/JeTEfa2M6Ky4DWh"}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.10":{"name":"mongoose-subpopulate","version":"0.1.10","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.10","description":"Mongoose Subpopulate ====================","dist":{"shasum":"0d495db3997a9f65e95f2188c7366163f61e8ff7","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.10.tgz","integrity":"sha512-ssUdLfGmrR+IqXiSUOQUuX1z/e+4TymGpQVcQUETj3FzzEWAH1yc3Q8IqXq+3DCPjGS/OvKQZOrSHt3sfffHow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLprwbDmRukIa21M8RE0SSymqDxFwJ0D+ZWe2RDVEa8QIgPHsyPaTMk1h6gHMwKveOeJtjuV0YwVjiaoqYCNBnKAY="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.11":{"name":"mongoose-subpopulate","version":"0.1.11","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.11","description":"Mongoose Subpopulate ====================","dist":{"shasum":"c10a9ec1a68be9654b8e7c985d9e0fd74ff25730","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.11.tgz","integrity":"sha512-8nQj0sqK/r9TFKdalxqUR/VxJ9fC5HqYc51qAd6AGh6jRec7p7c7Rgwn9NNRQ2M56v7dB6TtSNTdGIzVbyH95w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+9CJw7hqD153C55qjyolj+0kjlJu349tQvcqHdB5OUQIgYjinqf6RLFjaEZlsBcwbP6ROsRvcCkwlf3fvhHIuCII="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.12":{"name":"mongoose-subpopulate","version":"0.1.12","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.12","description":"Mongoose Subpopulate ====================","dist":{"shasum":"47fbf994e96a9a192a885a89fdb85293c56feefd","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.12.tgz","integrity":"sha512-YIkIlD0jhFGwSaLTsCqLrVGSEAGQgGWhCk97Q3bS7KU0t12F2InJx6Nb7x/TO81r/Q5/6C5zBkGONnmjPQAVvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEuILGV9YIoZXUJ/AZnmIH5Tqp+rFRx37OJDwBqyvX9KAiEAsN9/cOXtmcmFn6+4DzYSCtD9i4K1IzZNxmBBYfzmcfk="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.13":{"name":"mongoose-subpopulate","version":"0.1.13","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.13","description":"Mongoose Subpopulate ====================","dist":{"shasum":"9b9a8113ee9f4285ad3b3380e91d67db792c9ab6","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.13.tgz","integrity":"sha512-buLXx1NYLzpPrfDuO8cEqlMlXB5jXpJru9a1UwTZB1NAXj8obwby971HPemWs/f881bWVHWnCBOjGkydzxEISA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGa0ukLpzD2RvNQI/xhUsx3o5HDmUT6yI4uhjksYFkiCAiBNa0zEMuVMTosN0ApIfJiQq/P1NIeEhkZ4vNZp2qAHKA=="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.14":{"name":"mongoose-subpopulate","version":"0.1.14","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.14","description":"Mongoose Subpopulate ====================","dist":{"shasum":"f6ded10142b7264944914055a884419d6bc07e27","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.14.tgz","integrity":"sha512-FgMy2JsemdfrydOch3itudcfrGEM5/7GoUvvmSU6dUKGpabKhXZrNNUPcyuF9WWd7nC02F2IoSgRYVh+/wXJLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID15bJsdGIoOnZQg/gWvTFV7xHyRwCdglF8IryQIfSN/AiBXwdxIoQURP1nzbTeD9DZ4ol2xOxvA5Pd70EiLalrqvg=="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.15":{"name":"mongoose-subpopulate","version":"0.1.15","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.15","description":"Mongoose Subpopulate ====================","dist":{"shasum":"1814198ca15a2b999a33593d72128ff7a83d69c3","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.15.tgz","integrity":"sha512-Vr8zSOTXDmQgADjTs5tRev8jJQ/MRrNTuG7CuGCi2zAWQMbfeSZmGokwBQopHYaK5thj2TX6WN6Qrg5voOI6MQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAe6FCIhKOATnfSnaWMNT306keSZDFjRrBLMHeRSMnSPAiEAmJ0ZnTYPDtLrk70+tOgAT/Fih55xs1IraUTB2yCKDdA="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.16":{"name":"mongoose-subpopulate","version":"0.1.16","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.16","description":"Mongoose Subpopulate ====================","dist":{"shasum":"df015cdc741c885063209409a4a47933a5a3dd2b","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.16.tgz","integrity":"sha512-mX+PC/uZVG8bNqPZnU8jRALKi/VMxkoxTG6XTyRCska5mCW+mzc8QknUmZD+RcTdYiXuEhg9WW2BKXjzyi4r+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDd0giolghprKZ6bMIXATpjLvq5cVd1TYUyjZWg7Tx63wIhANxA4jGiHv/MUtwDfHrNSa/2qAA45kZHcCv03WjLeUft"}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.17":{"name":"mongoose-subpopulate","version":"0.1.17","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","_id":"mongoose-subpopulate@0.1.17","description":"Mongoose Subpopulate ====================","dist":{"shasum":"6e6dad3af56c6b2dc2db94097e9b3d65ae8859fe","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.17.tgz","integrity":"sha512-kuj1EnuK2LYgoQEnRzhRhUDVsgS1+87CELkitINed1JxTtnS4W8IsvtCBAunIIGDDCz1ZLea9Jr8ape9092+Ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkzI7tEZDcMl+mB72a7rgNRYBGfN5nsl70DnoWL5HtbAIgB1YjZVjJ69DVNgPuTeY2TCD1Nlc3Xi3GTyW5W0t3D+0="}]},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.18":{"name":"mongoose-subpopulate","version":"0.1.18","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","readmeFilename":"Readme.md","_id":"mongoose-subpopulate@0.1.18","description":"Mongoose Subpopulate ====================","dist":{"shasum":"9634ad62b88281ad174e5d99d42b912349f6c419","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.18.tgz","integrity":"sha512-Z/GsD9nwfbu/nRncSOsv1GPc3Elidg1HOdglN6WcJv/g1lR5GPYXv//dg4ji4HxthK2GhQvT97Dni17fN2Ye8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDruKLh0pS2Z0gHn4sQF9fAElVct5REhqe6lzrWtlMHUQIhAKfuOLl3Ymx6Bto61P4KcWmfm5glJp+DEmf/1xxvuScp"}]},"_npmVersion":"1.2.0","_npmUser":{"name":"joshuagross","email":"josh@spandex.io"},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]},"0.1.19":{"name":"mongoose-subpopulate","version":"0.1.19","main":"./lib/mongoose-subpopulate.js","scripts":{},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"keywords":["mongoose","populate","subpopulate"],"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"license":"MIT","devDependencies":{"expect.js":"~0.1.2"},"dependencies":{"async":""},"engine":{"node":">=0.7.0"},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log(\"My BFF's BFF: \", result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nMongoose-subpopulate supports Mongoose 3.x and Mongoose 2.7.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","readmeFilename":"Readme.md","_id":"mongoose-subpopulate@0.1.19","description":"Mongoose Subpopulate ====================","dist":{"shasum":"f79c3435fb1f08684f8bac6ad407d798b5a3264b","tarball":"https://registry.npmjs.org/mongoose-subpopulate/-/mongoose-subpopulate-0.1.19.tgz","integrity":"sha512-CeXJ9obINrdsBC79KnIGdqQUny0aEAo15OwKtwUYANsPiZTRNp6R2dGXPE0/kgs38wFfHupnHmO7x9o5VnF9bA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHSKpAEdQKgahkKLYsiYL35U6SR1vcy24z90Gp9Wuf7QIgR4HRNtG84KOxH33zZyjULbMA90/mCJghYYCj2nsRWac="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"joshuagross","email":"josh@spandex.io"},"maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}]}},"readme":"Mongoose Subpopulate\n====================\n\nMongoose-subpopulate was created for my needs on SpanDeX.io. It's monkey-patch of the populate Mongoose library for using MongoDB in Node.js apps. Subpopulate allows you to nest populate calls. \n\nIt allows you to do this:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (err, result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\nMongoose-subpopulate also allows you to ignore \"err\" in your callbacks:\n\n    m.User.find({}).populate('best_friend').populate('best_friend.best_friend').exec(function (result) {\n        console.log('My BFF\\'s BFF: ', result.best_friend.best_friend.username);\n    });\n\n... and if you don't handle the errors, Mongoose-subpopulate will. Use a global exception handler like webkit-devtools-agent if you plan to do this.\n\nMongoose-subpopulate also handles ObjectIDs better than vanilla mongoose, and allows you to save a sub-object to another object without fear of it being cast to an ObjectId, as with vanilla Mongoose. \n\nCurrently Mongoose-subpopulate is only working with Mongoose 2.7 (untested in Mongoose 3 because I haven't upgraded yet). If you need to use Mongoose 3, please fork, fix, and send me a pull request.\n\nInstallation\n============\n\nYou know the drill: \n\n    npm install mongoose-subpopulate\n\nLook at example.js to see how I use mongoose-subpopulate.\n","maintainers":[{"name":"joshuagross","email":"josh@spandex.io"}],"time":{"modified":"2022-07-13T14:22:02.497Z","created":"2012-08-21T02:54:43.829Z","0.0.1":"2012-08-21T02:54:44.435Z","0.0.2":"2012-08-25T23:26:41.625Z","0.0.3":"2012-08-27T20:45:37.326Z","0.0.4":"2012-09-04T22:32:37.207Z","0.0.5":"2012-09-04T23:00:35.037Z","0.0.6":"2012-09-05T03:33:41.419Z","0.0.7":"2012-09-13T22:17:21.560Z","0.1.0":"2012-10-15T22:06:17.576Z","0.1.1":"2012-10-15T22:12:49.069Z","0.1.2":"2012-10-15T22:56:21.727Z","0.1.3":"2012-10-17T01:00:59.095Z","0.1.4":"2012-10-17T18:24:56.179Z","0.1.6":"2012-10-26T22:40:01.082Z","0.1.7":"2012-10-29T17:37:24.114Z","0.1.8":"2012-10-29T21:28:39.262Z","0.1.9":"2012-10-31T22:59:39.367Z","0.1.10":"2012-10-31T23:02:19.708Z","0.1.11":"2012-11-05T02:24:23.201Z","0.1.12":"2012-11-06T22:01:24.793Z","0.1.13":"2012-11-28T03:32:11.196Z","0.1.14":"2012-11-28T05:04:01.402Z","0.1.15":"2012-12-06T01:47:01.744Z","0.1.16":"2013-01-10T04:21:46.137Z","0.1.17":"2013-01-10T04:37:53.828Z","0.1.18":"2013-01-29T05:21:50.812Z","0.1.19":"2013-01-29T05:48:51.541Z"},"author":{"name":"Joshua Gross","email":"josh@spandex.io","url":"http://www.joshisgross.com"},"repository":{"type":"git","url":"https://github.com/JoshuaGross/mongoose-subpopulate.git"},"users":{"seiyarus":true}}