{"_id":"mquery","_rev":"133-f0cf1361ed425bd9e16712544704bbd1","name":"mquery","description":"Expressive query building for MongoDB","dist-tags":{"latest":"5.0.0","next":"4.0.0-rc0"},"versions":{"0.0.1":{"name":"mquery","version":"0.0.1","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0"},"devDependencies":{"mocha":"1.5.0","mongodb":"1.1.8"},"bugs":{"url":"https://github.com/learnboost/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/learnboost/mquery/","_id":"mquery@0.0.1","dist":{"shasum":"a658f631a613e72de7fb453a178ea9024059ea19","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.0.1.tgz","integrity":"sha512-hAJ9TepLNqPLyQEJWsUHx5JXPG4/St7w2giowXosY1SRQVuuIcaNCfJvle2HyfIMWuyhwdAeI60Qv0ADcI5Y0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzlk6X8Vxd+JQMbZhK7xd/hXHB7BNEWk8xjWo1rKd7gwIhAPdi4q6HHtkRTnBM010eAddgl4N+W/DK9lYcygMTWUdY"}]},"_npmVersion":"1.1.59","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{}},"0.1.0":{"name":"mquery","version":"0.1.0","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.0"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.1.0","dist":{"shasum":"bb5d6f8ef051cf4772962ed59c3832deae039e6e","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.1.0.tgz","integrity":"sha512-dfofT5uW++wp05FaYOGA6KXxpjcI3EVUv8kgkthCJ2WT1dh0wbp2cnq9qxIur0IM2bjrVHlpKM8eUjp/5HLFwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAWa0gCO9nZmC499DlAfW7qlEAoG7O1a6KYyLQyyeNp9AiEAt+mli2u/xPtROvWkF4OaHd6Qbgowx6nQBJA76maKaw0="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{}},"0.1.1":{"name":"mquery","version":"0.1.1","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.1.1","dist":{"shasum":"93191932d002a80bd9d96bc650a2a091f804aa07","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.1.1.tgz","integrity":"sha512-M7ZtbQdHJ/wqnEiVx2Y6oBNslTaC7E/4/1MQzAAvttyRTu0HSEdB5KvOJvbL2pt5tntdRdJJafTlTP/8u97DZw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmPCcLOiGGaLKhMeqbqPokcS7nO5XYjsnSiA2HoOUCOAiEAgttJae3IcEcKlL4rsUUNlwk3IY5yOinNVcCYfnCMFD0="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{}},"0.1.2":{"name":"mquery","version":"0.1.2","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.1.2","dist":{"shasum":"851f710c18a436630f3e5f31a28b218e41bf3784","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.1.2.tgz","integrity":"sha512-tBjrAL5AkOaTC4TU3VJKAqbUe5uSNTDrkz/SzgnD/lJEUDMFw9Jyw6rfo+Xq1Q9DyxGMh+xahsaxuGAZ9aDk1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtFBjhcR1BId6boD8VbrZoMKB4WO8Oj5scZUDnc6fClQIgbR6gQXqJvrgTd93/08PI6llYU9RyfM7g+aiZZdcBCrA="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.1.3":{"name":"mquery","version":"0.1.3","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.1.3","dist":{"shasum":"7d5a00d2657d28bae303fad67c1f2eefd4ec9c01","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.1.3.tgz","integrity":"sha512-Wyg3+2zpR6pDX6K6J/JBo2bb2TZ0ukPu7CoAD/sxUqAZxqkg3nvSC6Z7SdUfm5fpa8Y96ALVeHcsDh8SNspYXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDeFOGd/MdFlhbDsWiquOXKNoQTsI+DEFZNCCR1HQTOgAiEAn0p3UJbn7PYUpEGrLK2+Gv6OiFVoIJruKtcCJOuMrUQ="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.0":{"name":"mquery","version":"0.2.0","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.0","dist":{"shasum":"b0feee284709162e2973b80efdbcede0845aa3cf","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.0.tgz","integrity":"sha512-YvJoe5JXPI+zhI8opPhOvDDA+APmCaXy8s10QiJWuHAhdM5wGsY7UuKhUfwbcF2r1V4mTkTbjkl3j/HhTW+W/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCgRSpSCyjmLNzXcAxkYO9sC5u47BfEjzPQGmg2vIUPgIgK5cMMNJ5Ok1IDIrmFe5GX2a28A6rVnOSC9cblR4UpuY="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.1":{"name":"mquery","version":"0.2.1","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.1","dist":{"shasum":"66475f25593cda67dc8e2337a5cb467e47c689ad","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.1.tgz","integrity":"sha512-eDFsW6LUquXKQoqUHMG8+oRgSP6Ngs9R5m++koghHR1WFFwb8AU2mFx/rDSe9ZPRPCyf1tl8jt748i41UAID5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCp1kqkxRLXWPsKwzPKiyJKZQa0RDgJ5akFu6OIfiVc6gIhANQATNfjFmuOmhNhcMCqSnfnYoMRy+pXuRW0w2XxKLEw"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.2":{"name":"mquery","version":"0.2.2","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.2","dist":{"shasum":"5f375888b0a81babb11363e47ec84c7baa6c3f7c","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.2.tgz","integrity":"sha512-kuQBunB+cx5xzBWlW+LB3ryHSwudgOnPxTneH3uFmjEzTLWgdPs64G0KMg1KKQUSxdKS5Z8jcs/hIcKyJIuzYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtQeKWC5+MvIYY0+l1yjJsz2crNm1G4dME8oJFYy6rtwIhAJmIdbQpuaTK3TsaHvya0nHI5r+RNcxtpXhtWs/W6Oc2"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.3":{"name":"mquery","version":"0.2.3","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.3","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.3","dist":{"shasum":"74e97e81959d346e6efe15d62ea5d9200bc6d6aa","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.3.tgz","integrity":"sha512-rT3FeARo0DtpVDL9hT4iw8dXbQjTP/GtWe8djwASvwkLquHZI/TfUfq+HWuKIaNp+Qvh1ffiDjy3B56Q/mEghw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJ+el2zKtH8Ox2kNEpEFjjecCpb+AONt7+0gKKcfP3YAiEAuyCkvkGh2ijgYQ2F+wakCfFGpD+gVWKi9em7St2MVf4="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.4":{"name":"mquery","version":"0.2.4","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.4","dist":{"shasum":"5d6e7f7f5129aa334e7e754d3f6a93cf304b7778","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.4.tgz","integrity":"sha512-V3hH7JKFp9dukmMfkmV+uA/yj3nIfcFbDToEy+wAtSamhhQyYf6AJUzG7HIOby4WyMgLIb/wx9EWEst2QM/xaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBCmt7G8CG+Hyus9Fl1p5A1gtAfXR97ygW8OumjaGTugIgYN7y7OONSz+YjuTv3vnOEtJVasQLT17m8EFyYlkXguQ="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.5":{"name":"mquery","version":"0.2.5","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.5","dist":{"shasum":"99bb25250d6b49ff54583ac0d7dc7a6b2de6df42","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.5.tgz","integrity":"sha512-BZkv32HsZcdMOgoZZdPg7V7dYxDentMRzgZkAY9QUd4zi5r32QQ3DlTTW4P8ucPI9sYx1Ds3GfA21XS5MYlI5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgNiXJtrP07cFz9QGVoZ6NICmL2LOS6AuBa6+KQut7egIhANm7VFDZAcgCQ5WKQ+bmIzYih4TMGg1JTtJ/A9/K6DHS"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.6":{"name":"mquery","version":"0.2.6","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.6","dist":{"shasum":"8c015f11e65f736c184b779470c2138cf75484de","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.6.tgz","integrity":"sha512-W0n5x/KVfL0C8CGpHTT0Ha6+TgZP5QL+tFxtUwWZW6tKjCxbzHAFkdyizfNWwCrbKYK4G4xZLs5FSEndcSYPsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF8GCKgXVynK1TNM0jS9AARCc5Dykodu9ZdBQtCxjMnQIgRL2RB/2EnknkWxFt4+1pRIuqjPwiaeZReaK25BWXIU4="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.2.7":{"name":"mquery","version":"0.2.7","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.2.7","dist":{"shasum":"fb6ec88ca1bc72eba7c89a783c6f42f8252b3966","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.2.7.tgz","integrity":"sha512-nFtoafB9XGHzEONBRAjSdzNC2nfjgsCuV5hD8ovl4N8OnHjFiPDRxu2gjosOpFb+SuAW1B2uTmS2nQA8wa4QJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfIQcjP6EuQ/AN1zs1nfMssst4ysObgkd5shZWjMvUDwIgScY0gMCC7kWenhSCpnyL9gIszDrKBH7vnUJxhrWMEhQ="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"ebensing","email":"ebensing@rm-dash-r.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.3.0":{"name":"mquery","version":"0.3.0","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.3.0","dist":{"shasum":"b0fe2b0f7c0e0116e21588f5c56cf795cd9b8462","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.3.0.tgz","integrity":"sha512-fwF/lcZ4loWIQxV0SWrC8ggcaos+FJc3ZCg7xTKGMV55r8tn4EHuhexLH7+JGoBMOPfAGiODrzeJ24xjldoTBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsZ4QaHy3Bpz0yZw+ccsvEHhIrv6H2gD1QFkmUss6JzAIgDDoGz9dpc9LtwibSsklpoT5N4x7SZKJw1ohqhy682js="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.3.1":{"name":"mquery","version":"0.3.1","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.3.1","dist":{"shasum":"b67051685b3ec71c9dc6d0ca41385297325c4c45","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.3.1.tgz","integrity":"sha512-g8I6EO5HEqEYSmM6PHdbYQq3WMMjcSGoLiETartHtCO0eEDB7wLNJCRC09gaLF6BjS3icUnBV5pLK20a0GB3PQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRQorUFKrrkEjxRQvIO5/sOOnp8Atj67G0xNFO6nQwzAiBKkPolowgpZjqGMxonk2nuD7qN3Klru2bG0vUIjk3n1Q=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.3.2":{"name":"mquery","version":"0.3.2","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x","mongodb":"1.3.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.3.2","dist":{"shasum":"074cb82c51ec1b15897d8afb80a7b3567a2f8eca","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.3.2.tgz","integrity":"sha512-sZaYoeTOGD/XhE9ZDwAEMkTqGZSA6R+KzVosty578e9bcM+gtj4aNWKQLsrO0LkejG26rKwj7XdFmX62dSL9Vw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0wAnE9Rgf+FVEJ9MfBnt4McXSKQMqowYCnk4DdKWddwIgasiZSfOjuPjnjMMrglghsA//htcsTot8O5a08KBpJLM="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.3.3":{"name":"mquery","version":"0.3.3","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","mongodb":"1.3.19","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.3.3","dist":{"shasum":"2339a0a127af6727f0181dccafa691ae965b6b63","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.3.3.tgz","integrity":"sha512-vc0Q1tW6s9U8a6QwMHodzbGwWsEkj/rrWMx0RtWkikiCT7foGSbwY0+hNPJZN1b/vtYVdRPbPsoXykNEoGCA8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG18eUwfiOhwLBT0Pb4H3LqVNuEqI63EMZFp2OVFgTD4AiEAgm5ESK6oAFJvpnWfi3TuSMEhiKxKBLU1XPKsyREqq7M="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.4.0":{"name":"mquery","version":"0.4.0","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","mongodb":"1.3.19","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.4.0","dist":{"shasum":"9112b387d57c8da8335eb5665034c9f5f37ea0bb","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.4.0.tgz","integrity":"sha512-BdwyjD4h/58Hj+nXVc645SC+dPnIj79aJUYy1DT+TAlJ3vMbS1Y7y1EOIbnBreSF7RGc8b8PasohX+qS/gAxqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEcF+lTHH45PR5cnuebfcITmj5WTyXIkoPpqq2flkAlrAiAbGY3ldgKLvz8PZnPNK7wS5bd2omHjyDRqYUBZazQMZA=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.4.1":{"name":"mquery","version":"0.4.1","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.0","mongodb":"1.3.19","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.4.1","dist":{"shasum":"c4626dd29203f3991abe9ddba88781256ad42fdf","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.4.1.tgz","integrity":"sha512-0zNnI7F3NVOlmMw+aOqP1j+8xdxMkoNbMd8406SQc5PzbmvQYqalbve5zIETnvkd17ZjlCvtcCzfwBDlfIGdww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICHULNrzc9x1uya4/RwTbWhQmZT3krK7XsDzLM29dpIEAiBguz5gLwczYAPj/uwv3X60qMBuLlbvEMjzacE9zLz2DQ=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.4.2":{"name":"mquery","version":"0.4.2","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"keywords":["mongodb","query","builder"],"dependencies":{"sliced":"0.0.5","debug":"0.7.4","mongodb":"1.3.19","regexp-clone":"0.0.1"},"devDependencies":{"mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.4.2","dist":{"shasum":"5670e05c2d4df76077e7ef4682fdcff7dc769d07","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.4.2.tgz","integrity":"sha512-pYBuKjew1zLcFzc0WA5p4LomQv7UExpsyUsiutL7KuIU+3r5QKRBZ3Nfc53LBN9sJYPJcRKpPyy52UE1S9NyWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5bW3SiwE3JU7VNMCo+iayVuiO6JJxZI3xfLdj3NgiTgIhALH6QKqzA+AaE3esGL/A8v+Pk/BA/hXRgLGxD0wOwrAR"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.5.0":{"name":"mquery","version":"0.5.0","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.3.x","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.5.0","dist":{"shasum":"1be8d4af0e6a316cb88c9941197dc7a45cbf6a98","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.5.0.tgz","integrity":"sha512-dPcYG+wdFFwTHkcfDTSXdc9z6FfvZ38ant3R2pnQt1IHma6xvCW25Pi7S05areOeXtXWxf+iM/ykB8X3PWasTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHtLdS0GpbY/78N7IwD2YClWmg5AGFjv7laziD0ArpOXAiEAl6mTIWdfORu6vntLROPBBSRYNtzoFl3+IeX0H9Fb12Q="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{}},"0.5.1":{"name":"mquery","version":"0.5.1","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.3.x","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.5.1","dist":{"shasum":"8a2685c50984fc205277a24eacb058c56cb9479e","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.5.1.tgz","integrity":"sha512-wBEEJdDJZjlNdvEfoMJAPMHau1lUS7xLVS69LKCOHZeiAxC7POxzd9NLsB4HU2JLMF1Rgg0yXJMCoIKj6KIrpw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGsiLhttmQxf9rcSYkUsjRG7By43hN2v4KbLKQ0hLWLxAiAbN5WstPHx624rWYWx7sZvbJLF9tT5yTDzhottewIPxw=="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{}},"0.5.2":{"name":"mquery","version":"0.5.2","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.3.23","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.5.2","dist":{"shasum":"3b844d772af24e370c52e6eca1ddbb87af8b5a71","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.5.2.tgz","integrity":"sha512-h1gP9VPqjmWh6w1r9yoR84QpBD/XSMr8ZR1va/FktnzTiOVGFKrdb3iAJ1YlbSC0o3ufRU1YK8ULxp7ldlCJMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH8KlBBY2K4fAvG7IQaoj0tNkzvEYohQ1EE2HzerTJrnAiEA6RYsBMbGr/JwvAE/bBayVvwBcjzyg9o0UR+ZI/WAppg="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{}},"0.5.3":{"name":"mquery","version":"0.5.3","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.3.23","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.5.3","dist":{"shasum":"b8a04d096ecf90bf17a81cc39b80dd4e5abcecec","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.5.3.tgz","integrity":"sha512-jqEbQf6o8rRLDO90SuyxjLE5dnePmuRNUMKDW557pdhM+LgZfagiPn/ovqVFNEx4LloxjKJsAxP9LeW5O++MZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZnZ5lpmZ/SpxMfSPpdcjyji2SjwVfKa3++RISU8n+VAIgXRqGTN3Om+WovWUh2AKyzEdMcwbRmWVRHS2saANlBsk="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"aaron","email":"aaron.heckmann@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.6.0":{"name":"mquery","version":"0.6.0","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.3.23","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.6.0","dist":{"shasum":"44071f9b23355e09cb07c76dade76d74272c00a1","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.6.0.tgz","integrity":"sha512-led7CmM5JTRpgFx6DM5WVSOeEOUAoMECCunx5qTBR68luCwYIyFlpTXPZEmrl+8U5UQdjKtanlMaDrS30jhZVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICb8csRqaUtPjQhsmbk/snHSVRdCfgRUrdu9LggRZKe2AiEA5kpGp4ZuS5Z7X1z2chDHe02jKKX1LbCeg+ucc/SX4G8="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.7.0":{"name":"mquery","version":"0.7.0","description":"Expressive query building for MongoDB","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.3.23","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.7.0","dist":{"shasum":"2d205abe097aff0f898d3ad9e43bd031031cdb1e","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.7.0.tgz","integrity":"sha512-x4ivkyoe2IOai6jKPDRy5ft7uhvIEsUfBGuF8BHscvHjrO1O3S4BNSp8QPPdxEH1QJc7TSkWtB+ktn0yRheYbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHdxIuvb4lQPCuyRJej8XOMgJZFWO/Egau3zm6CKt50AAiAUTGsfFEx9fFSh9rFOmRLPXLBIE1CiMc7sABqEiu8CJw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.8.0":{"name":"mquery","version":"0.8.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.4.4","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.8.0","dist":{"shasum":"1e5b8c2a5a52f5583bd08932700b85440ee25f60","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.8.0.tgz","integrity":"sha512-d3EdbIUN8yMaux15lAb+APD1mwLlxatRclLwNlxmj28YJXiXJ22+HKkige/0BjHyql0dN8K7ok6+Uzg+eH307Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaccDuPsNxUF9n1IOtJfDEG3jMltwCHSjO4/7LJgGIHQIgDTvgDu/rAI9qVOy9u2PJ/5c+lC9cnWDNDgApeq4YzRg="}]},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"aaron","email":"aaron.heckmann@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{}},"0.9.0":{"name":"mquery","version":"0.9.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.4.4","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.9.0","_shasum":"f7a412974e46012a0e9c3e855d3d0fc6a4778475","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"dist":{"shasum":"f7a412974e46012a0e9c3e855d3d0fc6a4778475","tarball":"https://registry.npmjs.org/mquery/-/mquery-0.9.0.tgz","integrity":"sha512-35uAg6S7ut6r61Zz2YTeY2F4RHClhFL5Wpe1TUardn/VokT9D+gTViZEOpbesP6L7PZcqHsl4qyU0vJjthuhtw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBJ03g+aEckE8ihlUqMBMq+VGn1qELJ4RAVkPryD9sVOAiEAka3SNA8qROBh3dIqnIAktaIh3zRWQty/G462fr+bpF0="}]},"directories":{}},"1.0.0":{"name":"mquery","version":"1.0.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.4.4","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@1.0.0","_shasum":"6940a46d643368fe8e5abddeb94bd8dd32013f5b","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"dist":{"shasum":"6940a46d643368fe8e5abddeb94bd8dd32013f5b","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.0.0.tgz","integrity":"sha512-v8EVsyC20NVlISRTzGgui3H6hv8SLIVI+GcSl2VxpwFM9UET3O0PvgHVG53aJa13UiaMj7O+q3NZ+7ySuoo2qQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9JI6y3z0ldBGvMyeu96YpzErEVRoLjBGHD1V0CdGKcAIgKQ2HRdQZLP1qhvDEsVIIiDOZd7Pqqp6nxBxggaIe4Q0="}]},"directories":{}},"1.1.0":{"name":"mquery","version":"1.1.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.3.2","debug":"0.7.4","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.4","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@1.1.0","_shasum":"2ea343e4c4f676f3e0f2bef63daf9ce691ce5062","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"2ea343e4c4f676f3e0f2bef63daf9ce691ce5062","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.1.0.tgz","integrity":"sha512-nARtrm+q1cQFxWFxX3pN4JOS/G2IyVKzIlaKXnbnUfpb+NcDAsYqTS2ISp2chMoftC82r/ilF1mKDHnuNIWYnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBu8ETdAtrOoS3JFvPcfMyHjZwCzZg8+gUBg/yjANsduAiA8ScyAId/WfyZShzoo2ETCTV4LCNuJQsf9ktI8FdQENg=="}]},"directories":{}},"1.2.0":{"name":"mquery","version":"1.2.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.3.2","debug":"0.7.4","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.12","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@1.2.0","_shasum":"61ca938647f52ce6d6f7a2aeb288ff1eee8d6df9","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"61ca938647f52ce6d6f7a2aeb288ff1eee8d6df9","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.2.0.tgz","integrity":"sha512-HnPsoex7uA9K0WzdA7aZ03Uv1zXLin3jUCYLHok5fV+6dgsH7XVv2UyexdcSkCann7zAtXN8EJ2fw+vcjp6aww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTOwgN6b0MkH0n3jb3/amvNAP6XNSoSudtTr4dq0g6YAIhAIhzBAvOLOtU9nY8g1K6ihuY1p4qpmTxJG3XS8xUYlq9"}]},"directories":{}},"1.2.1":{"name":"mquery","version":"1.2.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.3.2","debug":"0.7.4","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.12","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@1.2.1","_shasum":"638e162fefa6874217d6e4d92b8936684e96602f","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"638e162fefa6874217d6e4d92b8936684e96602f","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.2.1.tgz","integrity":"sha512-A8SB67KhuWTz32Vraq05oEK/kADnhft4+xcs6m5XTqwXrbYe8JndFTsezS7P70papsPIiof4Lfq/VDmUSr4ROQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxImiWWIMIAOAROCxZxs/klKA1vUfrHk4JXPEJjsePcAiEAlMl/HQG9/5nZaih+7kBi3/7eDqHa8xMb6AyCXHYwMq8="}]},"directories":{}},"1.3.0":{"name":"mquery","version":"1.3.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.3.2","debug":"0.7.4","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.12","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"53c95adfb7c44bc9831e5e88fb2f9bf65b829c91","_id":"mquery@1.3.0","_shasum":"c9c920324fb3155589f559c1bd85fade986efcb7","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"c9c920324fb3155589f559c1bd85fade986efcb7","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.3.0.tgz","integrity":"sha512-077b+Ai2EajF2XEFgkLqfkJLNaKQzAVDWvXY2dK+grJDUNTmFz70zA6PAXxrhG1NIGe5oM9Exm7OVq8yASU/HQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcm6aPauPjUQsNIh4zfbxHq/vUdzGo8uIWDFUDSVGS8wIgX6QvIBLEShPNzj18qXri5MWReN7X+1ZER2pFl51z7sM="}]},"directories":{}},"1.4.0":{"name":"mquery","version":"1.4.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.3.2","debug":"0.7.4","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.12","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"43ace72da53b63e82b21380432b2e61169c98225","_id":"mquery@1.4.0","_shasum":"d49b1c1ca89d1a06ebb6f000316fadba56c2469d","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"d49b1c1ca89d1a06ebb6f000316fadba56c2469d","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.4.0.tgz","integrity":"sha512-gKXAoFjwwgGnNa6UxhLuPtaDP2tCyBaXnDRGlV+fbH4//Os9aIA0K5JWM6J2uMIDCMdTB5wrD6Rg2SNgMnX9DQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDokuT/snZOwVlHt1Frov6BQXfhs5RJslLu8LS85W3UQIgH6zGjz1ue+nvnjYFSsiJKQ21DhoAhaBWVpXkHfeu2wY="}]},"directories":{}},"1.5.0":{"name":"mquery","version":"1.5.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.3.2","debug":"0.7.4","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.12","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"4fd1f085f752100067bb89fec6e3520882de43d2","_id":"mquery@1.5.0","_shasum":"a6b5788fd265034049eb53230f953e6a034ce8db","_from":".","_npmVersion":"2.7.1","_nodeVersion":"1.6.1","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"a6b5788fd265034049eb53230f953e6a034ce8db","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.5.0.tgz","integrity":"sha512-6v5byNjyae+sEreqY1suonJk6zs9usqjT5jCgBa+IZRNu5I18T7NKqy5+GRN+AFsviGJhW2vEg37xo0Bh5xbnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1+HDcG0EfWPiq+R9Gn9FiwWVzA5yDP/ac8X1OitBgJAIhANaVnpN6Lxbimrr6oXOt0ll1ivWjlFKWPvqcDl5GAi3n"}]},"directories":{}},"1.5.1":{"name":"mquery","version":"1.5.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.9","debug":"0.7.4","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.12","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"3afc81bed9af1cbccce830630052ef670de522a4","_id":"mquery@1.5.1","_shasum":"f60bbf8a1e0ec6ef3ff1f22123b8b03f83a91625","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"f60bbf8a1e0ec6ef3ff1f22123b8b03f83a91625","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.5.1.tgz","integrity":"sha512-UhRV/fjvUson1h6mBJPQgFI7fnehjPEfjEN0OyEoabc3WTsl60ag+Wl+tbqFDlwjkiHtVq3faQ5nVC8PFLnDGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDV8tv3zs1KjhDNY/oxQMbTBVFrrkNDov4sx9YJty593wIgeX9h0E769cDKeP4FdiaYfvco22j/4J2MTl/oEw8nFCI="}]},"directories":{}},"1.6.0":{"name":"mquery","version":"1.6.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.26","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"410b07be66d11a918a0954777b49d72d547c4723","_id":"mquery@1.6.0","_shasum":"f3baeb4941931384e6319d3ff47b6f388de7c40d","_from":".","_npmVersion":"2.8.3","_nodeVersion":"1.8.1","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"f3baeb4941931384e6319d3ff47b6f388de7c40d","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.6.0.tgz","integrity":"sha512-Pd9Jl/bHPHuwfXs7PGkoTr5OodpN9bDsyFcAia8WRd3tL39gqCxDSWrBGY+eVyrskL4Ul5NFSu4G9G1RmS0JTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDYs7TG7PcWEHHhPew2hkW6lSbklS6fegQe2zWvDpc+QIhANZxQBqhDEKT5rkJPJQch32bcNI9broy34KGOT1e30C9"}]},"directories":{}},"1.6.1":{"name":"mquery","version":"1.6.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.26","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"3ff8043070166b0b990832a150241e3f63ead818","_id":"mquery@1.6.1","_shasum":"d7a9ce28e6feecb8a49830f1fc6809d6a422d059","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"d7a9ce28e6feecb8a49830f1fc6809d6a422d059","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.6.1.tgz","integrity":"sha512-uKard7887827hqdhTo2yPc55t8OX4P697leXVZ2YrHrXWpebkG3jd9FfrhiF7Rj6czOpd897scNRX1XaAhqB9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID+giboxfSobtjX7b2uIUWnJOdOcQabXEYqVEKru6g0xAiBfDVhIGqjrBGVhXyZg43390vw3QqYNffzTb1wjqqTz2Q=="}]},"directories":{}},"1.6.2":{"name":"mquery","version":"1.6.2","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.26","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"659328365a584fd36e3659ae1df9904eb4227ea1","_id":"mquery@1.6.2","_shasum":"4fbcdc61c76fa760cc7358cbb26e19b7a23ca957","_from":".","_npmVersion":"2.8.3","_nodeVersion":"1.8.1","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"4fbcdc61c76fa760cc7358cbb26e19b7a23ca957","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.6.2.tgz","integrity":"sha512-Rxci0U3rcJbcW1B5T1QqbfyoQrKIofFrqlTI7nUQTgZkuV/4qNxoREqjWL7luHopnHHkuYwFIhPcXov406yTvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuwWC7FHRMCz2puuiOSv/ttsIpwdJDMm0dItIewc5+1QIhANXvIsxg2e79mhG+E5IHqhc1cwt6VzJ2taa8ocDZV7Bw"}]},"directories":{}},"1.6.3":{"name":"mquery","version":"1.6.3","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.26","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"cd0c3284df2089eed5f0a331802e15c6ff0e7fab","_id":"mquery@1.6.3","_shasum":"7c02bfb7e49c8012cece1556c5e65fef61f3c8e5","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"7c02bfb7e49c8012cece1556c5e65fef61f3c8e5","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.6.3.tgz","integrity":"sha512-pHgPD0+8w5YsOui7Gri+lnHMO245LvvrigUGRiZPefflqMXKo86CX/zZ/iEzdm5PBmIjzci1FaxjBiZzslKKiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7opGvP/YySKTVpChHQpZ4XyFITsKN+DUnNmE2HogT3QIgcn9F/dtewqVdkNf7EafDNhNl9A0vLhpGca/0re0F650="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{}},"1.7.0":{"name":"mquery","version":"1.7.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.26","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"ff112b7c6ad8ff6398d9f519b1ec36b838bc3c59","_id":"mquery@1.7.0","_shasum":"37643e00ed8d9fcdb3861d3d42425590d19e664b","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.1","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"37643e00ed8d9fcdb3861d3d42425590d19e664b","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.7.0.tgz","integrity":"sha512-7o3AS0kI0SFMxPc4/CTzVu6ThENGQoZy3/9ABUw/C2t08bgytbvnZdnmSbzR8W1nURMyNtnLTNNtppS8UH8Q9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQaGlVnkiUFxQG5SEDMPRKyHKhJD2rYiMW4tL4AeLLSwIhAMYj0xVX1Wn2z6cAv/AYC0r9/xeuLHxiY8W2uSf063me"}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/mquery-1.7.0.tgz_1456258243256_0.9226057617925107"},"directories":{}},"1.8.0":{"name":"mquery","version":"1.8.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.26","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"d9b616c045f6352d000ea2558f60d3f5bda8cf88","_id":"mquery@1.8.0","_shasum":"a75606197e7a6e68f4db32a9a2d13b9ca618ea17","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.1","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"a75606197e7a6e68f4db32a9a2d13b9ca618ea17","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.8.0.tgz","integrity":"sha512-98n4p3UbYO1FjTU501v/pz+4QPLMPAFbAN88z7DFqv1hEGS8siCz4WzFa6r/E56yjH5FwW4Zp7Ng4Qv9ro/jow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnq/eCzQ8wf/q4k/hHel42Up6oCgdPj1381J8mq8lIbgIgIr7vOg+iLoDnjVKj0KFjO0cjlxalkx/DZ69mnUv+gG4="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/mquery-1.8.0.tgz_1456849857756_0.1690365739632398"},"directories":{}},"1.9.0":{"name":"mquery","version":"1.9.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.9.26","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"855f98e2995f7c000df2ab1ca6285c024ba1a49c","_id":"mquery@1.9.0","_shasum":"bf379312c4586d7938de3c8ecbbdf648beb20468","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.1","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"bf379312c4586d7938de3c8ecbbdf648beb20468","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.9.0.tgz","integrity":"sha512-S/vQeglpeLYtDubIB6NC8ZyMpxENOdASrDdzJe+mucG0hdad5LpC39KWUK63+TvMgDGSHzj+SazRFGa/ywxhTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3Pf+wLQ71bDfwb77zJNgsP2QN5U9hgewL8m0suL97cgIgA2LgFhlNTZh9Z87VkLHnEYy/e+8v3keLi+PBCD4QsGQ="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mquery-1.9.0.tgz_1458052510507_0.9501501701306552"},"directories":{}},"1.10.0":{"name":"mquery","version":"1.10.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"d82d97f7a81be6c5288d7092482b3b7c81980fdf","_id":"mquery@1.10.0","_shasum":"8603f02b0b524d17ac0539a85996124ee17b7cb3","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"8603f02b0b524d17ac0539a85996124ee17b7cb3","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.10.0.tgz","integrity":"sha512-eLuuoHpk61CwQOvgcsQ6SrgComEZ+XBDiltWIwJoob9WuvjnNLrVRZ8T5by3gw1qAyyGD/GmKMNVv9uHRHl3wA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6wMH5UX/Ha5OEqJYV8xGjSmT/e9veTLREQgYFy4TgIAiEAzsVprMf05L0rm9xd/PQSyaxQa427TzveFC2wjrA3sSM="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mquery-1.10.0.tgz_1458142279679_0.4496212056837976"},"directories":{}},"1.10.1":{"name":"mquery","version":"1.10.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"ac98f88541b8a5441f640a7f64efdb571dc62dad","_id":"mquery@1.10.1","_shasum":"b40f111384963ca22d0fb0061b080156445e97b5","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.1","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"b40f111384963ca22d0fb0061b080156445e97b5","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.10.1.tgz","integrity":"sha512-P9oUiQjfp9zKUvFhHfA+Sc8SzUoOQZn3h4A8wijBPhB9146kPbodJu4ZmUtCUDs+9TbfLo7yszX2Hbd+7zSRCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT98e7mpN99AFyDh3B6HZvxejoBMGNG7gYwTqH9rxicQIhANWESrx2NGEoz+Cz5sP5JKfU4zhdWeMDpiDZBB5kt0YI"}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/mquery-1.10.1.tgz_1461698747450_0.7902110698632896"},"directories":{}},"1.11.0":{"name":"mquery","version":"1.11.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"1.4.38","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"09fadbf4b695bc2031195669da0a03b878a6c835","_id":"mquery@1.11.0","_shasum":"e0c65dedb1037edbf6cfb88262e777fee23551d9","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"e0c65dedb1037edbf6cfb88262e777fee23551d9","tarball":"https://registry.npmjs.org/mquery/-/mquery-1.11.0.tgz","integrity":"sha512-K00g7l0bkp2O+AUaZ/JbPsUNPV6pHldEQ2/BoGBTdhxR8AyW5jKLCMyV9Cd94+PmmUKUN5jRmt5zED+HsaY91Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwwXnZanemFC9I0bNBy5IQkMCv2vtpgGP7CRUWXpcJkAIgJT3mVyFwoL7jv5QnFJ2t1z3PNj64QAUK9t1iUFw7yWg="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mquery-1.11.0.tgz_1465085677452_0.6026320999953896"},"directories":{}},"2.0.0":{"name":"mquery","version":"2.0.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"2da32ab0c16efa531dad69a34113424858b6bd97","_id":"mquery@2.0.0","_shasum":"b5abc850b90dffc3e10ae49b4b6e7a479752df22","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"b5abc850b90dffc3e10ae49b4b6e7a479752df22","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.0.0.tgz","integrity":"sha512-2lslwN2snGnC0iSaoz//mcANs/330V0vI+26HlEIDzxfc+v2y9X+jDulDAbynG1213TdSwYlHn+JZLtk74NnOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICnYBkRmLOG4ZujRqBmey9XlieOyWHOLOOfGpTSme6gOAiEAuqWlyR2PNRRAUxYSehmgjLoRuSjuGBCJP+CkU9992D0="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/mquery-2.0.0.tgz_1474848720074_0.5682471790350974"},"directories":{}},"2.1.0":{"name":"mquery","version":"2.1.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"063d3894658afe411c528df21f23320bf7249b5a","_id":"mquery@2.1.0","_shasum":"bda38d3a1426f2e97b50c41e9deb8bfc570421f1","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"bda38d3a1426f2e97b50c41e9deb8bfc570421f1","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.1.0.tgz","integrity":"sha512-WlRr6m7Y526xpogSB9hNMofEyyHOO+RUk1oc0amb8C74YD0Mm+JjLP0BEvxLZ1DoA8WE+0Y8dZ3V/X0te+znBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXLMidLLwrOvMJJasagVSfrp+i0vTisc5XOeEdhhn8TAIhAPkGYfgO2aWic1y/7T4s/sPxBVyOVjQk4faSPQpgKZwA"}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mquery-2.1.0.tgz_1482425645926_0.4012191186193377"},"directories":{}},"2.2.0":{"name":"mquery","version":"2.2.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"3a02427d3a8e246400343ec067b9ead1a1e7cc41","_id":"mquery@2.2.0","_shasum":"0d3f86ec61520c3c59b39532d9a0f4cce8aa71a6","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"0d3f86ec61520c3c59b39532d9a0f4cce8aa71a6","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.2.0.tgz","integrity":"sha512-U5KXRBFavJoxMjP7kCLHXSz+WVJEvBARXptNqFQPAnK1PHOjw7LhPD5SJvEy/YWb5lakOULNPdGIDn64B2I3Lw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVhbQ++M0Ufs0QZgd/NZN8NMFxD3HQvHtkPI2Z85UD8wIgKIl6LcNGnWlL5j4Lk8nalnO8ghWGkn0FNgzql9O1f7U="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mquery-2.2.0.tgz_1483924575082_0.040166068356484175"},"directories":{}},"2.2.1":{"name":"mquery","version":"2.2.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"4f874181d0504bc0c8cf802a403784eecd69980b","_id":"mquery@2.2.1","_shasum":"aa31076419adce2b06e9757f4cfc5d7f371b47ce","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"aa31076419adce2b06e9757f4cfc5d7f371b47ce","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.2.1.tgz","integrity":"sha512-a5BL3lHTGAIFt3jWfAWmibI8u3R9N84ZOtSPvect05CbFnFALoEMo724nVTvOpwZ/y6JiKz2+TIR+uaX5IVi7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtJlpVQPf0mvyZjAtK+bNiZ4x5MlfjpToopZkqqkjzTgIgS9o/Mf1dKNW5J0TI2muQ0c7fekNXfukcHpvyAA7/O68="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mquery-2.2.1.tgz_1485735964086_0.24588719569146633"},"directories":{}},"2.2.2":{"name":"mquery","version":"2.2.2","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"1.9.x","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"dbbab269fb52eed8d0b8650e83c828ffcc72e7e2","_id":"mquery@2.2.2","_shasum":"c12910232233a695f8e24a39817726348180958b","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"c12910232233a695f8e24a39817726348180958b","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.2.2.tgz","integrity":"sha512-HWfROaHQZ8I7PQoL3KDygPjwzWThukVDM70QoeMe+0tiPkhUu4BUZuRVmzhK0GAOQxnvaG+e5dEWfo3nx6kQXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2kNIVZibD+URCWICTB5pTJTc+sDke9vJ19Ur8qc64wQIgM5fYM6i7b8Lr8XTqnOcKWxbDblJmndXTtUZqT1y4ZYQ="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mquery-2.2.2.tgz_1485914680256_0.29989169840700924"},"directories":{}},"2.2.3":{"name":"mquery","version":"2.2.3","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"3.2.0","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"399d167972fa6d514162834406adaf6d12b59a44","_id":"mquery@2.2.3","_shasum":"a4703b64fb6734fce51d784a4df095cabf1a8f57","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"a4703b64fb6734fce51d784a4df095cabf1a8f57","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.2.3.tgz","integrity":"sha512-CoMKjW3Y4G8bHemWO8uFGm20meoAIH/kC2/r7BtA286+R4tSoq7Qjh0zIx/zb/4jpqfb+VO6tF28nMIxzWQHYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF03/pGrtWNhoH8QQEogB7icysCQXyjYUTaBTTqYPlL/AiBz3QEQPG2PWbcWMkU0B/6BrTctzajgn4WJ6MKsA8H7wQ=="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mquery-2.2.3.tgz_1485915913207_0.3412126444745809"},"directories":{}},"2.3.0":{"name":"mquery","version":"2.3.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.2.0","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"3.2.0","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"403bb82187362b30bcb2f51157cae77d4ecec55e","_id":"mquery@2.3.0","_shasum":"3d1717ad8958d0c99e42ea2461a109f3e5f3e458","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"3d1717ad8958d0c99e42ea2461a109f3e5f3e458","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.3.0.tgz","integrity":"sha512-5k7WkgiSoP24a2nBozGv4ZCugkdj4jnNYJhcArr5zlivJFgN/w1iGZ6PcbBmgOgU0MwaLeG6s6CjZ9fOpKwG9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEf5FV6yFYUVz8otWSLSBVA1TQaTgrBXyLFBuJLMvosFAiEA7RbFgYaPJVmfDH+MT4U+MskaXFEpYY/MH6C1NsVvmzw="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mquery-2.3.0.tgz_1488766196528_0.7159966540057212"},"directories":{}},"2.3.1":{"name":"mquery","version":"2.3.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"2.10.2","debug":"2.6.8","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"3.2.0","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"85f8232e65b59a55a459329726ae368f104cf3a5","_id":"mquery@2.3.1","_shasum":"9ab36749714800ff0bb53a681ce4bc4d5f07c87b","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"9ab36749714800ff0bb53a681ce4bc4d5f07c87b","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.3.1.tgz","integrity":"sha512-BJQfILQaHxjR7bavJN7Rqqs0J95HBrWTKUBJ1GbNHVR7CXjqvoNyoXKtZUXoJZwI3e1lBfeowFXKuYeA6/+CRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+UDg7h0xEPcdKPSaSwuc8KrUOjIJnmWc1KEl4Do9psAiAj3L7yLy32HTBXHnqacLNgS+/Gn56KunTs1l42OVmmHQ=="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery-2.3.1.tgz_1495515174124_0.01707300846464932"},"directories":{}},"2.3.2":{"name":"mquery","version":"2.3.2","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"^3.5.0","debug":"^2.6.9","regexp-clone":"^0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"3.2.0","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"d2afbaa782feeda486352659273568520db4756f","_id":"mquery@2.3.2","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-KXWMypZSvhCuqRtza+HMQZdYw7PfFBjBTFvP31NNAq0OX0/NTIgpcDpkWQ2uTxk6vGQtwQ2elhwhs+ZvCA8OaA==","shasum":"e2c60ad117cf080f2efb1ecdd144e7bbffbfca11","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.3.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFd4zbwUKw62RmLDSvJKn+Bf+/KLwyyB7ssL2GNqHSpgIgD999UG2bAfzPP4jppzc1Xq+l6Ewy3s8U70FwMs+O1nI="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery-2.3.2.tgz_1506554347701_0.32025816733948886"},"directories":{}},"2.3.3":{"name":"mquery","version":"2.3.3","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"3.5.0","debug":"2.6.9","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"3.2.0","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"c35c64eb1268d388c48757d4002d09ebec8021f9","_id":"mquery@2.3.3","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-NC8L14kn+qxJbbJ1gbcEMDxF0sC3sv+1cbRReXXwVvowcwY1y9KoVZFq0ebwARibsadu8lx8nWGvm3V0Pf0ZWQ==","shasum":"221412e5d4e7290ca5582dd16ea8f190a506b518","tarball":"https://registry.npmjs.org/mquery/-/mquery-2.3.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8cFOgWP0eArPAxK3bcoFBzz2F7e9aw+kUVDwQQoHy/AiBSwsI4T8cDexexPP9XQxyfeHnOelP6mmRlRGmW2f7Vzw=="}]},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery-2.3.3.tgz_1511133478812_0.11077233706600964"},"directories":{}},"3.0.0-rc0":{"name":"mquery","version":"3.0.0-rc0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"3.5.0","debug":"2.6.9","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"mongodb":"~2.2","mocha":"3.2.0","istanbul":"0.3.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"e1ddeec71170a2d333774ce3df5ec65c4cbca6d8","_id":"mquery@3.0.0-rc0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-tEAVSvlmd22irKJ8Q/tyI0LKRv8cV3aEkQ/EHW391ktGRWDDlfcpZyq6GYqu8yXGoz2JkC4aMJdNGca19wU1NQ==","shasum":"05ec656e92f079828bedf4202e60fb8eaacb9f47","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.0.0-rc0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNVFMkLKPCvWtz33btFnK116W3DH7z4NivrmNem56enAiEAt63ETqKDy4+FsN7c5OH3twEwFzWq1PBX2cpql8bSV84="}]},"maintainers":[{"email":"val@karpov.io","name":"vkarpov15"},{"email":"aaron.heckmann+github@gmail.com","name":"aaron"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery-3.0.0-rc0.tgz_1512601870918_0.04621250368654728"},"directories":{}},"3.0.0":{"name":"mquery","version":"3.0.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"nsp check && mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"3.5.0","debug":"2.6.9","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"istanbul":"^0.4.5","mocha":"3.2.0","mongodb":"~2.2","nsp":"^2.8.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"9a922c28c46cde692faf0fa59daab197f00997e4","_id":"mquery@3.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-WL1Lk8v4l8VFSSwN3yCzY9TXw+fKVYKn6f+w86TRzOLSE8k1yTgGaLBPUByJQi8VcLbOdnUneFV/y3Kv874pnQ==","shasum":"e5f387dbabc0b9b69859e550e810faabe0ceabb0","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDs/vGFeKTN93OX+Jb2WW5l/uerBgil3haH6fVsmauz8wIhAJvuk9VD0AylQbvjvsG9XFzLpXQ0BGz15iPLER65FcW5"}]},"maintainers":[{"email":"val@karpov.io","name":"vkarpov15"},{"email":"aaron.heckmann+github@gmail.com","name":"aaron"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery-3.0.0.tgz_1516470921064_0.6448580741416663"},"directories":{}},"3.0.1":{"name":"mquery","version":"3.0.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"nsp check && mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"3.5.0","debug":"2.6.9","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"istanbul":"^0.4.5","mocha":"3.2.0","mongodb":"~2.2","nsp":"^2.8.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"7ba9ac77d475679178ffead25a809e2b2808705a","_id":"mquery@3.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-Hm88Ki4DDj0bwjR8NVNe0WgMPrW0zAws3CEJCCgBL9Zlk5YR6hUIuPU2lWKd6ekJ3GmkQnhkixLVU8nW0j6hxA==","shasum":"24cd52ca01b5e4fa2bccc10e8390ab734ec3e43d","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.0.1.tgz","fileCount":19,"unpackedSize":227416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOqG9CRA9TVsSAnZWagAA39AP/iWVQy5TcJaUnw4jzLpL\n4oDn/A6Z1b0IveqIb43tGG5qH26Dw/zLKXCzy9dbrhRSek13keoNd2zUgMsH\n0uldwNlV+dmqz/EnFw6jffP1E7AXqXQHSiXcbP+89zR127aS+qqCCmR3lWqz\n4H6U5AkSSHFXtaX8XdpY2EoP+GDAV0N0P/l89hYYdhhGlzFSLLrYui5Yxmir\n2aFWEkYQrzR6a0QFrtTCVd845PNjjwnAeS8nxi1xC8BMRZZCCikClHpKe88C\nqz1EriMaUj5JC2xfLI2vfJv1O/pttbiaN4bXpYeG7gLBTeJywH4TOFvZRmAm\nNxlgTYz/mttoT71CqXVG920+Eg6chW4PsWExPmcPyyC0Wqh0t+/VNXjurORP\nFpymH+567KjSj1oPqWG9cSrShVFzXAk73kTdvrVg2X0Zq1WArIGSafw5kzWS\nz3uI6CR7+6xQIkJRDkYQEAjUh4a/JUovPtry7Wc3lqszTWCyHiZbBMgCPH8B\nlF0cb82h1/qva9KRgkCCf3o66JjpgmGZZCf79oUdfYCUKbxAm7ZgfdPzA8Nn\nmgdJ2dKr3r/w4FuoR7bI/0yW2K3hl+btPbYHwBwooYAnxpp3fsZn8DU33DAH\nVWaZFfSHb2eAGQhI3FL+lq40Nn2XbuNPOVfJn4rSfhOoB/UYVG7dl5XUVEiQ\nur84\r\n=Pb8q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtXNisUJqoJYCwdzGXXaiSg1M7v5dD6aX98YvB8ZYSiAiBWYdVMBh9L0duUC+vlJrSPTWGUwR2IPkfnsU23v650QQ=="}]},"maintainers":[{"email":"aaron.heckmann+github@gmail.com","name":"aaron"},{"email":"val@karpov.io","name":"vkarpov15"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.0.1_1530569149624_0.08829809084358575"},"_hasShrinkwrap":false},"3.1.0":{"name":"mquery","version":"3.1.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"nsp check && mocha test/index.js test/*.test.js"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"bluebird":"3.5.0","debug":"2.6.9","regexp-clone":"0.0.1","sliced":"0.0.5"},"devDependencies":{"istanbul":"^0.4.5","mocha":"3.2.0","mongodb":"~2.2","nsp":"^2.8.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"a7a968d49ac041cfc511a6be156cdc140c06c492","_id":"mquery@3.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-9GwmrcjpOLJEi5oRZoghV99Zkv8AKsmi/6NB0iRFStjjrX6gUHXbEQmYxWN2K9Y/2+4oolk5FxE2OmZc9S2CoQ==","shasum":"1e4181d6b689e086f2b68b991ec42c9cf2eff829","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.1.0.tgz","fileCount":19,"unpackedSize":234412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXkbfCRA9TVsSAnZWagAAl1AP/AqSKIhTEs2dobI5U9Z7\nHuqghjWlsWXFxO97ex2QTssY5adGYmZLy7mMgcGhc7g+0YescCxAzQP1LyYP\n8quKRZbhfWnoeqczQp+XjXofrvKBgRLTKVOTJaSrEh7GdxI1oJpNLnS3fki6\nwtRw/QcxTNldYWpc/VYnd4PeG11zZO+M16YGKa/bYBHQmUVu1idQ5VpjDE1s\nvcbHv3rdGTMlXuaLRoLn19eWUX3pZPgU9yz574dPz+Rwll81oFvoxjqxYvF8\nEk0SgEI2q9yYC+qi1YxBxZpW3oCySvc2OcL8z43VBnRSNqbUPV0hR6KARfZt\n86u2OptDvo9J3bqijw7QRMhaQnSZjRMpgoXLahV5zDIsFTYTPeOB+JSpui8Q\nKkINTyAGM+Ve4NrXH/cdgf8ZZ3fJZ3gfhGVUNdBQcVm1z8oGh319CMOv/MPN\n/Tx9qlQ7nfSZaNoqq7wYuefPal2sYrTZZaADZALAtZJH3EEofroEugIgEjM3\nAl5DpdU80x2plHDfVmV84PG7OC7al7yts9o0HcNzyaklXQRYAf3lqHPRxjuE\n8PoLqFWRoyq330+rZaIjuC0ubHgmZ9MF87HdNPjI71LnGuMVH+q7kl+cS7ql\nLFNtiRMaHbKwzzH7SMGPyWvri57Vvul3UOp2zXj3dHcOIpIlL3tGAjUL/KIA\na9ti\r\n=HzWN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrD9Ho3RbjK0TQ90jv8VHcwGwCZAeBsxviHgbeNXjITgIhAIBt4+65TUvPfp2s0DOaBUHaIbCjjx5MOlVzIt34OYK4"}]},"maintainers":[{"email":"aaron.heckmann+github@gmail.com","name":"aaron"},{"email":"val@karpov.io","name":"vkarpov15"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.1.0_1532905183107_0.4529354910787313"},"_hasShrinkwrap":false},"3.1.1":{"name":"mquery","version":"3.1.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","eslint":"4.14.0","regexp-clone":"0.0.1","sliced":"1.0.1"},"devDependencies":{"istanbul":"^0.4.5","mocha":"4.1.0","mongodb":"~2.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"45c4bd104613da47828df13d4aec12c324525c53","_id":"mquery@3.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-RC8BMQJizE20bYaAiZ5uQIvuRLNo6eH6wFPoOwQbBR69dDti8Cj6d3f7pRyvbLv7WMjaQIJYo3P2kM4RUabdFg==","shasum":"1c00eb206f2cabc6649789257eae08128e8dc3c3","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.1.1.tgz","fileCount":20,"unpackedSize":236684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbX4zoCRA9TVsSAnZWagAADn4P/j24vQQsUdYvmPqXiUnl\n0kCYyYDpOrnF4hhyNgtimNI0M88Qy/ieTnYhkKdZuk+2go+y05DRPa8i919z\niQpd13UeMbYfSKvwgjGW53iGjtGuK4CJCZwXufzkQnWutLNT0PAHLjoTp6F/\nY4LcCJxe5LhbwTi2zo661PEh5PqmxGel5vwbaVp0gyIZ6Dw8ZF+atlwBQYK2\nw3WCt7PloEIsv/MBoW1qb+L5j40Yuw/Z5GSUWIjNgc5TX3DXo1SPaTnSsEbN\nxzyg+1kb5/H/Bbw1ZKJtt8iALYwC28g/T3NUuPVSv95glskVNFvKXHXlMagH\nyokgqydlviFm2rcHGEBgD1GQekxe3qvlJnoDMc0emjRFVLk840kYoR4eO41S\nzF0xrEdJJW2yxuxdJIfHNpAFZQnXkPC/zDELCAbSQterthyBBsk8AsYfPvKW\nRSFjrDGt3Z6cxHWG06faP2a0aU7at+MmOetLc4hKgUezMdmKj91WgYqGEXdb\nC3YlrxOFiGHZrGv32FRyUEcRdGDWLX4b1a6lhsOfdNPeXkll3ttTKLaZJ+Iz\nchfn3yaR1Yn6tzIjaXx/stXa3biH+T39kWqj38Zu2YGLfFbVvkbqhN/Cg82o\nmE4TLjsnOaasqWQTECw6I2QO0l4RGhwjn1yzf9Z2A04NDFf+aSNTTw+GOR3y\nMD9X\r\n=Ayq+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBl/rUvWL0Ba/7x8V1brA3Ms3mpyT0vMatBvOhXol0kkAiEAgC1j6eDhh112FpR/cxU4xawsedn7yMroiRERTM59moI="}]},"maintainers":[{"email":"aaron.heckmann+github@gmail.com","name":"aaron"},{"email":"val@karpov.io","name":"vkarpov15"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.1.1_1532988648173_0.01972290147507194"},"_hasShrinkwrap":false},"3.1.2":{"name":"mquery","version":"3.1.2","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","regexp-clone":"0.0.1","sliced":"1.0.1"},"devDependencies":{"eslint":"^4.14.0","istanbul":"^0.4.5","mocha":"4.1.0","mongodb":"~2.2"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"6879a01bc7eed5ccd65a7995bb8c63cb496cbe07","_id":"mquery@3.1.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-rBo2+eShI/Ko/GFzXMvJvYjzeLRW3P7E4NllAGRyNO90Xw5awo5RI3zCqzuJWe1NSvdL7cGu3RPLuGjZ1TmnmA==","shasum":"46c2ea6d7a08c9b9e0716022fb2990708ddba9ff","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.1.2.tgz","fileCount":20,"unpackedSize":245121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbYhLWCRA9TVsSAnZWagAAw7IP/1xKXBDaZoFL96bKHIpl\ndnJIawQoSdWgDVFDh7Esyx58oTV+feZryoFAcW9/x2ZeR2XCdsxgi4WGukaH\nmiHRoKByFLqxsmpaGbFTD+8CYkV0kCb4lO7Xu8MAxj7NLcxXHfwuFYSP1ufP\n43mutndolEpuujY/1eVzNO31PTEh6kJjgoN8iYPxJD7HRYYyM4s9ElZ7Ck7j\nrNMgEccOD7HLnPMZd8pSEUtlywQqLZWbuAUCLDyS1EdqqPaoP5B/dJr9VdNY\nbftYKKfYRW8YlbGAvW2FdEeRrSjbGyo1znhwKF+W+i/YmCNmXQU6wzSuYeor\npq2trIA0FdqfqiEgdqp2xeY3uMhxKlb8m0XetnaoG72AGHY364GbpMDvHB3j\nh5/sjYDG+QINc9T7HWCWpwM2kRODITkNiPp6+iWgKJG5Zw1azsJrFBEyXQze\n5KNec5Bwichl5sP+PqalewSMByJUkdI15XOF+PS56PKuXEsWc1YHZ6KtlAbx\nEluJ62Ci3Drxh7NzO/NgdNBdsiL9nyOT+yLWuYyFNlkzWXPhHjRmCEKEtlda\nVhF7Unl1WSOWUGdeX4FcUOHO2gYToMhQXlI11CcI+YMhRmwTmnxfrIvKVwKF\nxCNJOowiLEu4CM2udKGDF/zbcfbxqE8ozb/AGG/lSBmkxdLnT2mAhwjGirl7\ncTMo\r\n=I8Ya\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICd+EcPTi2jbVNI+vn5F39MZiCYdeyOcYuGwQgDKIhRSAiAN4HqenmgFESew5KQNYxvs2fEqVmDJ8YGrFmws7N5z8g=="}]},"maintainers":[{"email":"aaron.heckmann+github@gmail.com","name":"aaron"},{"email":"val@karpov.io","name":"vkarpov15"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.1.2_1533154005979_0.5628442380504812"},"_hasShrinkwrap":false},"3.2.0":{"name":"mquery","version":"3.2.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","regexp-clone":"0.0.1","sliced":"1.0.1","safe-buffer":"5.1.2"},"devDependencies":{"eslint":"^4.14.0","istanbul":"^0.4.5","mocha":"4.1.0","mongodb":"3.1.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"dbb8161e4b749eb3509cdbdc7c422c93e04c4073","_id":"mquery@3.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-qPJcdK/yqcbQiKoemAt62Y0BAc0fTEKo1IThodBD+O5meQRJT/2HSe5QpBNwaa4CjskoGrYWsEyjkqgiE0qjhg==","shasum":"e276472abd5109686a15eb2a8e0761db813c81cc","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.2.0.tgz","fileCount":20,"unpackedSize":245767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgEINCRA9TVsSAnZWagAAl3MP/Rs9PTIv8Sv+tS9E+KzI\nRyCS6kc0OB9Rb0q6kAa2HnSk1NCV0lvs9OrCnWOXt4AapIfGs+eYFm4zG/dc\nWv9kw9aU8mUk7KgWdcLfeF4UoWYSPlGUQH0dfrNY1Na/bBGsSB51sqM3flhi\ngSlZ7+InE9ymI5dBrgPGKQHT33cGrwI1jkOMyQbvQOxm1OAsm+WivCsF+mj9\n02bTXTvtjI72zkbt8+HWDqHUc+qRAJcf1u7T49y5U1a/H9KpwTltFDivJ73+\ntruS7TFSNQxIu2VWjw+gCZdo5D+obo2w52oaUJB/uTyKJFq49njkVDkwiPt2\nk9xVViej4MXzkXeENd1zh/xJA0qO/hPzzctg3accDGtcN7GuH1gnirarbTqg\ntDSOP8P14W3qRihw8VK6Djk1vU65GddxPuojZpQhKXpt77S0gAab3HzuU83U\nCemBntimfgj5IHVjUndiVvsxxPaYJscIYQzJxGA4J/YFJPJVo1Tp8ETfZapk\nZ/XPcsie/B+m0wjrf35EOGoZVvteag/DKe9ei9BhaS/QfbVP9FHNE9XxdqHS\no/88jMRBk+33oZALsa502R36ivY5mnN28vM8hfDeSa5jwfE9tDgrKOaLzoob\nXwReHq67oq2KISdLep+OhQ5W6C7Oqr8jOfrvasAjCfSCe3jcnynAs8L99kLR\njnL0\r\n=X3L0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/VVjLlAb5C4eIyeE/D2GskeYr6xuzXR3JI/nqgozdtQIgc0uj2l7iRvdRDDZqchxNnPQL05lKiYlmbtHPiSxqFN0="}]},"maintainers":[{"email":"aaron.heckmann+github@gmail.com","name":"aaron"},{"email":"val@karpov.io","name":"vkarpov15"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.2.0_1535132172266_0.5479882256976298"},"_hasShrinkwrap":false},"3.2.1":{"name":"mquery","version":"3.2.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","regexp-clone":"^1.0.0","safe-buffer":"5.1.2","sliced":"1.0.1"},"devDependencies":{"eslint":"^5.16.0","istanbul":"^0.4.5","mocha":"4.1.0","mongodb":"3.1.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"853e75afb3c4087a81f2be8d242412f1dba3145d","_id":"mquery@3.2.1","_npmVersion":"6.4.1","_nodeVersion":"8.11.1","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"dist":{"integrity":"sha512-kY/K8QToZWTTocm0U+r8rqcJCp5PRl6e8tPmoDs5OeSO3DInZE2rAL6AYH+V406JTo8305LdASOQcxRDqHojyw==","shasum":"8b059a49cdae0a8a9e804284ef64c2f58d3ac05d","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.2.1.tgz","fileCount":20,"unpackedSize":245830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+pYPCRA9TVsSAnZWagAAgLsP/0ylwMM9ZfEQmMQ/dlc1\nmZjutrbBhusFhfLIVhhwx9lQUSP041tM7aKI+GuIo1fTOfFlqyRRiUgplVLq\niErR2d83d35LDuQ9vsrSlrqTx2N1Zt907m8WKzb0nOtwxV9U8ECEzGquhqaU\nljr8igJN0DZBteBlgNgnQ3HXb+SMsoe8HnkLCNaobKk/gQga0E8dLy7h0jIA\nNmEnG9y8jbaZMTmJOriv6UIVDSYvS6/bwnKsx+rEkzxcwUTY8dEtjKjK83/u\nUEHiuX2LAh3vHt/T4uYl+B7cSn21c6AX9g2x+unqbrLl63Z16/lP00SsrcSM\nTt/BnL8ngUPwpJvCvdtUIdMnK9GsBAg5+x+p0gEvQkbjlU5+RDmLf68h3Bts\nszG84FiStLU4xUCNVzj+LNMmPN9QAHJA6J2A8VICeYyfrktGgwgp+uWhKnwL\ndBeyhdIQ2NO+blsJLbpR4ff53X3frXTcRK6CclIzrLMhK3kUhsYuJL3wmsqR\nsyiCG4MO6dtG5qA7lawxOSa6E3XyXuFlL6j/NuwNzhrNBlOUkwrJQuvG14/K\nxJsaTwtXGHGX/YCEla+CNCCMfkZ6IuMGDHnrHOU17ygSlMC714WNRXgHRfxn\n+y+mIDX65C4vL6wXV92pTU+wB47Cn6VanUaj53zcWcMFyTJYR8mHn/KJakDa\nca8j\r\n=Ebo+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHf0+1wOFFNJYrgjDNXU1NXvm44S2T4j43JpqqpfToPnAiEA42U/4ilspaC1IqztdfDhVLWR7JK7hFFdpMYQGez4qrk="}]},"maintainers":[{"email":"aaron.heckmann+github@gmail.com","name":"aaron"},{"email":"val@karpov.io","name":"vkarpov15"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.2.1_1559926286359_0.4852319302844066"},"_hasShrinkwrap":false},"3.2.2":{"name":"mquery","version":"3.2.2","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","regexp-clone":"^1.0.0","safe-buffer":"5.1.2","sliced":"1.0.1"},"devDependencies":{"eslint":"5.x","mocha":"4.1.0","mongodb":"3.1.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"6d3e0c758917206e56448b572cc1cdbd7394acff","_id":"mquery@3.2.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"integrity":"sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==","shasum":"e1383a3951852ce23e37f619a9b350f1fb3664e7","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz","fileCount":20,"unpackedSize":246135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdh7LBCRA9TVsSAnZWagAAaqwQAKAvwKlvGfwhp52gfQGx\n6J07o1XiSxD9SMeKFH/ynRzq+QfIG8pTgE2KwHDdCJ3VPg9VuOmmGG1agfQ3\ncHnP30kJAiJ1kQVWDuS5e5Ep+SSqBBVma15BCjadulKF6XsT/ckFh1KjAr0W\n43CbmW+4fhfmgKWdWGpKpqMRUUcD/KR7RdzNKddRk3Jw+24LCi6HxvWvaSZ2\nuQ04RnE+hjwpQXtKQ3VfHeYYsQ+1TYB3EW8QUhiOv/eKimVJR3RbyOlj+FLT\n3sNu5/iXbSfQnJwdSmJBMNqNWAWFt3raMAtXzHwEkePMQikWJAC2VloBcaw8\nvX2G1Tt0DanBp12VaipzF2EmEAHRcnoy8PWKV1OVrvT0OZeMLOzgKubw6mK6\nlW/XfNO9Cyybg8QbKwvjo0LI9huEW2MrYdw3UFfEAgLfDYTDH4bGKndmO/gX\nNAR2JGSQP68PAfXYNUmoLrcK7Pq9O08J3jYXvXKNb1q6h5IzOQ/5Mu8wEr6N\nqq88UtNa+61kSU4YRUC0cNVV8d8K23hVNMmIt8YGp4Hv90MVUzY3SqOExGec\ntFsyADf3YcloB5xquyJucCmYibHv2ZN0u78NN4tnpMPwL8Y946W2nDYv/N93\n7DPXEvT9XOX5MZcC1JS1MI3zSW8jIBneO10TPms3l2IMLTxQoEqbxNjUK0T9\nH5Nb\r\n=cwY4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhK45dsWg/Awz807jCwnjEByRCwDkdmscLxStebqsiYQIgKrFskrebG/rG1elmf0kZM0TAtvZT0TvLoM0Sf29ypRw="}]},"maintainers":[{"email":"aaron.heckmann+github@gmail.com","name":"aaron"},{"email":"val@karpov.io","name":"vkarpov15"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.2.2_1569174208916_0.691751805301654"},"_hasShrinkwrap":false},"3.2.3":{"name":"mquery","version":"3.2.3","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","regexp-clone":"^1.0.0","safe-buffer":"5.1.2","sliced":"1.0.1"},"devDependencies":{"eslint":"5.x","mocha":"4.1.0","mongodb":"3.6.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"eeaa57c1504c78d2dbf889b1eafc79e2bb52beb0","_id":"mquery@3.2.3","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-cIfbP4TyMYX+SkaQ2MntD+F2XbqaBHUYWk3j+kqdDztPWok3tgyssOZxMHMtzbV1w9DaSlvEea0Iocuro41A4g==","shasum":"bcf54fdfe3baf57b6a22f9b62b1ad5fa18ffe96a","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.2.3.tgz","fileCount":21,"unpackedSize":247311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0oRUCRA9TVsSAnZWagAATXIP/j+oIvC9JH7b88a3K6EY\nhSA+HJ0w9Bev0LaPDJRiYRtmE/rI44v9uurtV4sy6meWSrc3f3mssivop+dD\nnGS44VN9WGzNDQCDALo4s9wedc6lDBuT+YusIZ9ONxoS8AHGsrt+eQp0i9Oh\nSSVvqUz+bD71F79gWxfGJA8lnpEV4PLKmw5qi1Jm2Z5J7GamUbPai4O6Eq/C\nEEr/hrOMAUG/unxaMZf+LOiiU7TbjdflpHMH3dn1Vct4IkRvu94PASO9VFlh\nhaYMGrhEaMkbOMxfmhElbGk+x8mLhRxhNqtl3DYT+wICK2OwJGxQ2YKCuvCn\nPA75AxGcDdbZAjbBqGdjXNwysUjxaHG9yN/uN5B7+LTppzWTHdHEk6x5qEHy\n4GO4M9IRW0bXfDhF2CRQtz+y2t4cm1uElrMvWN3JJeF0Tobrj7ahlA0KbEFF\nSQ6VD3c4NdJLxAhe0Acuje6JgfmRnANZuHvRy4IAHSmqu79LPxy4nHLZntCe\nRR8ze0JZokX8ALD32YRbNMRCNdh/1WIxXmx565ftJTL5Z9dxBVcNy0LTEiIe\nbmwAvZcmNayetLB/lkiw3OFl33chJg/XRD5v6OIdHCljOHV0NSrCQpFJyFb9\nLzi+/xj/YaUWEtKAjH9/q/QkWhXHXn/1vBYFtkfRL2p3DSgZK8YItdX8PwDK\n4AsT\r\n=m0BV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN1X+2Sc0BtdliEASUgVmvWxc5UjWzyYJVsoDXnQfcJwIgVL/mwjcAgqJiLmcugtW9sqnH0bRCVJFseIe/21i/07o="}]},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.2.3_1607631955455_0.9136374385053438"},"_hasShrinkwrap":false},"3.2.4":{"name":"mquery","version":"3.2.4","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","regexp-clone":"^1.0.0","safe-buffer":"5.1.2","sliced":"1.0.1"},"devDependencies":{"eslint":"5.x","mocha":"4.1.0","mongodb":"3.6.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"34344fa6b54a306b5fd8bc246aef9957646a0e14","_id":"mquery@3.2.4","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-uOLpp7iRX0BV1Uu6YpsqJ5b42LwYnmu0WeF/f8qgD/On3g0XDaQM6pfn0m6UxO6SM8DioZ9Bk6xxbWIGHm2zHg==","shasum":"9c5c2e285ea6c6f20673f3528973c99ee1aaa1a0","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.2.4.tgz","fileCount":21,"unpackedSize":247333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJrWkCRA9TVsSAnZWagAAHOEP/ReG1D+W7XaKW5+tqIH2\n12JeXNBk1T/PZ5AfEbN9PsiQ0nEBOlhACL1cFNLviSVBrHeI5c9hlrZ4M+f8\n90McCrMYHv/qnyOBisEuZkv0pCYqBzxSPNmMOG6mF2qy6bx/QXey4kzj7J+D\nqpothC4ogoCWVuTQoTNvgKG5Eebe3Ur68eMd696w50+r6p1yrFBEZJvsNAp6\n1TU6a9OgywAj+3h3w/oJWdrnTOsjCRfvFWpWcgHZEk0CplELMLVfxKKvNDZp\nfpoWCfQo4a+vtF+yiBmoKe6+bXLNRIsVnYEn23sCPhOD8sxLq7bp2oK0Z5TJ\nhF/A3WKFrW6lH8i1zLs072MkSThP0Z3UstUhEsPLoX0No2XeJ7QLNGgEUkst\nG+UaRY2BkKBK6hlP3B8ZKXK+neH77q7STSetiW/w/M//y42/Afsl4hVtO2Zs\n5TwQ1OKDviSexuZ4cXHtc6h9tG5ImOZrTExZPCtFWwzemu9Drz5q65JTPU/f\nM0BdGjZim4121CjpIqesS8S4xbmB2Lb4LGvnpQTDt61o5wBxNMzsnL4igNtA\n0SHoClTaUooWz394z1tSdT4AQQtFnqLTzFo9HBUAyvpTLATu68axGUqE3Z9S\nneUo2Gow5nmmbCYxKPbP6bpF/2lQZIIkPOV0UDtxc8MCYm2WXsgWv9wedzj/\nudLL\r\n=Qf76\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDu6ThDleyFBUyApH3JVcjTxMQwVnXrlQMStV/CHAimaAIgCn7oyJgt7mZU3HMJp88HIgMJ+BBaKGlkT13nYlmZ6ps="}]},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.2.4_1613149603741_0.3709643516020389"},"_hasShrinkwrap":false},"3.2.5":{"name":"mquery","version":"3.2.5","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=4.0.0"},"dependencies":{"bluebird":"3.5.1","debug":"3.1.0","regexp-clone":"^1.0.0","safe-buffer":"5.1.2","sliced":"1.0.1"},"devDependencies":{"eslint":"5.x","mocha":"4.1.0","mongodb":"3.6.1"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","eslintConfig":{"env":{"node":true,"mocha":true,"es6":false},"extends":"eslint:recommended","parserOptions":{"ecmaVersion":5},"rules":{"comma-style":"error","consistent-this":["error","_this"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":2}],"keyword-spacing":"error","no-console":"off","no-multi-spaces":"error","func-call-spacing":"error","no-trailing-spaces":"error","quotes":["error","single"],"semi":"error","space-before-blocks":"error","space-before-function-paren":["error","never"],"space-infix-ops":"error","space-unary-ops":"error"}},"gitHead":"6646bd9b450c8f56095d08ddb478840bf39ee985","_id":"mquery@3.2.5","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==","shasum":"8f2305632e4bb197f68f60c0cffa21aaf4060c51","tarball":"https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz","fileCount":21,"unpackedSize":247562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYepZCRA9TVsSAnZWagAA9TwP/22wHnWu1jC/1cobMMVp\nvNSSPitam49Zr0rV66Wf6D1Gvl7s7wW1/3SFauPA1rNa8DRp+UhMU7FWiaW3\nVmJQD3hmkcTrzhDjhtJx3b4oLQPrdMzAV5wp+bh8PcUpgZxm4ULt/tnrA1vz\nBhnSRsYKEbrnHTvjFe1NUGRoeoImyySUjXwClT0lSZm3zMA5iwkSomtfaYwi\nj1EckN7lHTsjM2E90Qv4Ko/d1qFOorbNFFYD42KKR2enUM+YS0NrX+Tp6kWX\naiunuiXNpKJl/81fM/Jez7dXXEYN3ndGq4PM006phugDGomBZYlQvykUsIOF\nmcMwO9yayOX+31IeMmmVeYjw/lkNVrv1GK3mJXUyRxAZ2PeqA70xRq5xiB2i\nmijRDMXXvc0AJ9eYs7Tgk35JuNdKgXGVI2Um286z4uUcEPO4Cac5l6h4dUIw\nnUa/gfAYCwRhJsLLg/3p6gEa/d6DCfiau0wkaPZaenPEW/cVrIuG6PNN/XCb\n4NMBEqZIVx+doVuL2+ERcgDwfrs/hDNrmSb+6teuT+5cb6rnzkGJL4seDjLn\nxbyfXl6INmWHupTV2ikTXVryDAfYnxGvaaNBBEJ5tYfUhRgA2hKELsN0/CUB\nIY6hnUwl5mw1LYQ9kUb5+9lmd799mLy3hqihGcUJd/GEBrKgmf+v0NPAn9rv\n+PEe\r\n=SY4M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBZuryZkHxAIGDuAD+4e+esxNAbyuH5u9xTjyzP0zOWSAiEA1VRxZNPmiT8pB4DdH3bCFC9BY5q7Z4zK4drDst04tuE="}]},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_3.2.5_1617029720614_0.11233799738959838"},"_hasShrinkwrap":false},"4.0.0-rc0":{"name":"mquery","version":"4.0.0-rc0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=12.0.0"},"dependencies":{"debug":"4.x","regexp-clone":"^1.0.0","sliced":"1.0.1"},"devDependencies":{"eslint":"5.x","eslint-plugin-mocha-no-only":"1.1.0","mocha":"9.x","mongodb":"4.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","readme":"# mquery\n\n`mquery` is a fluent mongodb query builder designed to run in multiple environments.\n\n[![Build Status](https://travis-ci.org/aheckmann/mquery.svg?branch=master)](https://travis-ci.org/aheckmann/mquery)\n[![NPM version](https://badge.fury.io/js/mquery.svg)](http://badge.fury.io/js/mquery)\n\n[![npm](https://nodei.co/npm/mquery.png)](https://www.npmjs.com/package/mquery)\n\n## Features\n\n - fluent query builder api\n - custom base query support\n - MongoDB 2.4 geoJSON support\n - method + option combinations validation\n - node.js driver compatibility\n - environment detection\n - [debug](https://github.com/visionmedia/debug) support\n - separated collection implementations for maximum flexibility\n\n## Use\n\n```js\nrequire('mongodb').connect(uri, function (err, db) {\n if (err) return handleError(err);\n\n // get a collection\n var collection = db.collection('artists');\n\n // pass it to the constructor\n mquery(collection).find({..}, callback);\n\n // or pass it to the collection method\n mquery().find({..}).collection(collection).exec(callback)\n\n // or better yet, create a custom query constructor that has it always set\n var Artist = mquery(collection).toConstructor();\n Artist().find(..).where(..).exec(callback)\n})\n```\n\n`mquery` requires a collection object to work with. In the example above we just pass the collection object created using the official [MongoDB driver](https://github.com/mongodb/node-mongodb-native).\n\n\n## Fluent API\n\n- [find](#find)\n- [findOne](#findOne)\n- [count](#count)\n- [remove](#remove)\n- [update](#update)\n- [findOneAndUpdate](#findoneandupdate)\n- [findOneAndDelete, findOneAndRemove](#findoneandremove)\n- [distinct](#distinct)\n- [exec](#exec)\n- [stream](#stream)\n- [all](#all)\n- [and](#and)\n- [box](#box)\n- [circle](#circle)\n- [elemMatch](#elemmatch)\n- [equals](#equals)\n- [exists](#exists)\n- [geometry](#geometry)\n- [gt](#gt)\n- [gte](#gte)\n- [in](#in)\n- [intersects](#intersects)\n- [lt](#lt)\n- [lte](#lte)\n- [maxDistance](#maxdistance)\n- [mod](#mod)\n- [ne](#ne)\n- [nin](#nin)\n- [nor](#nor)\n- [near](#near)\n- [or](#or)\n- [polygon](#polygon)\n- [regex](#regex)\n- [select](#select)\n- [selected](#selected)\n- [selectedInclusively](#selectedinclusively)\n- [selectedExclusively](#selectedexclusively)\n- [size](#size)\n- [slice](#slice)\n- [within](#within)\n- [where](#where)\n- [$where](#where-1)\n- [batchSize](#batchsize)\n- [collation](#collation)\n- [comment](#comment)\n- [hint](#hint)\n- [j](#j)\n- [limit](#limit)\n- [maxScan](#maxscan)\n- [maxTime, maxTimeMS](#maxtime)\n- [skip](#skip)\n- [sort](#sort)\n- [read, setReadPreference](#read)\n- [readConcern, r](#readconcern)\n- [slaveOk](#slaveok)\n- [snapshot](#snapshot)\n- [tailable](#tailable)\n- [writeConcern, w](#writeconcern)\n- [wtimeout, wTimeout](#wtimeout)\n\n## Helpers\n\n- [collection](#collection)\n- [then](#then)\n- [thunk](#thunk)\n- [merge](#mergeobject)\n- [setOptions](#setoptionsoptions)\n- [setTraceFunction](#settracefunctionfunc)\n- [mquery.setGlobalTraceFunction](#mquerysetglobaltracefunctionfunc)\n- [mquery.canMerge](#mquerycanmerge)\n- [mquery.use$geoWithin](#mqueryusegeowithin)\n\n### find()\n\nDeclares this query a _find_ query. Optionally pass a match clause and / or callback. If a callback is passed the query is executed.\n\n```js\nmquery().find()\nmquery().find(match)\nmquery().find(callback)\nmquery().find(match, function (err, docs) {\n assert(Array.isArray(docs));\n})\n```\n\n### findOne()\n\nDeclares this query a _findOne_ query. Optionally pass a match clause and / or callback. If a callback is passed the query is executed.\n\n```js\nmquery().findOne()\nmquery().findOne(match)\nmquery().findOne(callback)\nmquery().findOne(match, function (err, doc) {\n if (doc) {\n // the document may not be found\n console.log(doc);\n }\n})\n```\n\n### count()\n\nDeclares this query a _count_ query. Optionally pass a match clause and / or callback. If a callback is passed the query is executed.\n\n```js\nmquery().count()\nmquery().count(match)\nmquery().count(callback)\nmquery().count(match, function (err, number){\n console.log('we found %d matching documents', number);\n})\n```\n\n### remove()\n\nDeclares this query a _remove_ query. Optionally pass a match clause and / or callback. If a callback is passed the query is executed.\n\n```js\nmquery().remove()\nmquery().remove(match)\nmquery().remove(callback)\nmquery().remove(match, function (err){})\n```\n\n### update()\n\nDeclares this query an _update_ query. Optionally pass an update document, match clause, options or callback. If a callback is passed, the query is executed. To force execution without passing a callback, run `update(true)`.\n\n```js\nmquery().update()\nmquery().update(match, updateDocument)\nmquery().update(match, updateDocument, options)\n\n// the following all execute the command\nmquery().update(callback)\nmquery().update({$set: updateDocument, callback)\nmquery().update(match, updateDocument, callback)\nmquery().update(match, updateDocument, options, function (err, result){})\nmquery().update(true) // executes (unsafe write)\n```\n\n##### the update document\n\nAll paths passed that are not `$atomic` operations will become `$set` ops. For example:\n\n```js\nmquery(collection).where({ _id: id }).update({ title: 'words' }, callback)\n```\n\nbecomes\n\n```js\ncollection.update({ _id: id }, { $set: { title: 'words' }}, callback)\n```\n\nThis behavior can be overridden using the `overwrite` option (see below).\n\n##### options\n\nOptions are passed to the `setOptions()` method.\n\n- overwrite\n\nPassing an empty object `{ }` as the update document will result in a no-op unless the `overwrite` option is passed. Without the `overwrite` option, the update operation will be ignored and the callback executed without sending the command to MongoDB to prevent accidently overwritting documents in the collection.\n\n```js\nvar q = mquery(collection).where({ _id: id }).setOptions({ overwrite: true });\nq.update({ }, callback); // overwrite with an empty doc\n```\n\nThe `overwrite` option isn't just for empty objects, it also provides a means to override the default `$set` conversion and send the update document as is.\n\n```js\n// create a base query\nvar base = mquery({ _id: 108 }).collection(collection).toConstructor();\n\nbase().findOne(function (err, doc) {\n console.log(doc); // { _id: 108, name: 'cajon' })\n\n base().setOptions({ overwrite: true }).update({ changed: true }, function (err) {\n base.findOne(function (err, doc) {\n console.log(doc); // { _id: 108, changed: true }) - the doc was overwritten\n });\n });\n})\n```\n\n- multi\n\nUpdates only modify a single document by default. To update multiple documents, set the `multi` option to `true`.\n\n```js\nmquery()\n .collection(coll)\n .update({ name: /^match/ }, { $addToSet: { arr: 4 }}, { multi: true }, callback)\n\n// another way of doing it\nmquery({ name: /^match/ })\n .collection(coll)\n .setOptions({ multi: true })\n .update({ $addToSet: { arr: 4 }}, callback)\n\n// update multiple documents with an empty doc\nvar q = mquery(collection).where({ name: /^match/ });\nq.setOptions({ multi: true, overwrite: true })\nq.update({ });\nq.update(function (err, result) {\n console.log(arguments);\n});\n```\n\n### findOneAndUpdate()\n\nDeclares this query a _findAndModify_ with update query. Optionally pass a match clause, update document, options, or callback. If a callback is passed, the query is executed.\n\nWhen executed, the first matching document (if found) is modified according to the update document and passed back to the callback.\n\n##### options\n\nOptions are passed to the `setOptions()` method.\n\n- `returnDocument`: string - `'after'` to return the modified document rather than the original. defaults to `'before'`\n- `upsert`: boolean - creates the object if it doesn't exist. defaults to false\n- `sort`: if multiple docs are found by the match condition, sets the sort order to choose which doc to update\n\n```js\nquery.findOneAndUpdate()\nquery.findOneAndUpdate(updateDocument)\nquery.findOneAndUpdate(match, updateDocument)\nquery.findOneAndUpdate(match, updateDocument, options)\n\n// the following all execute the command\nquery.findOneAndUpdate(callback)\nquery.findOneAndUpdate(updateDocument, callback)\nquery.findOneAndUpdate(match, updateDocument, callback)\nquery.findOneAndUpdate(match, updateDocument, options, function (err, doc) {\n if (doc) {\n // the document may not be found\n console.log(doc);\n }\n})\n ```\n\n### findOneAndRemove()\n\nDeclares this query a _findAndModify_ with remove query. Alias of findOneAndDelete.\nOptionally pass a match clause, options, or callback. If a callback is passed, the query is executed.\n\nWhen executed, the first matching document (if found) is modified according to the update document, removed from the collection and passed to the callback.\n\n##### options\n\nOptions are passed to the `setOptions()` method.\n\n- `sort`: if multiple docs are found by the condition, sets the sort order to choose which doc to modify and remove\n\n```js\nA.where().findOneAndDelete()\nA.where().findOneAndRemove()\nA.where().findOneAndRemove(match)\nA.where().findOneAndRemove(match, options)\n\n// the following all execute the command\nA.where().findOneAndRemove(callback)\nA.where().findOneAndRemove(match, callback)\nA.where().findOneAndRemove(match, options, function (err, doc) {\n if (doc) {\n // the document may not be found\n console.log(doc);\n }\n})\n ```\n\n### distinct()\n\nDeclares this query a _distinct_ query. Optionally pass the distinct field, a match clause or callback. If a callback is passed the query is executed.\n\n```js\nmquery().distinct()\nmquery().distinct(match)\nmquery().distinct(match, field)\nmquery().distinct(field)\n\n// the following all execute the command\nmquery().distinct(callback)\nmquery().distinct(field, callback)\nmquery().distinct(match, callback)\nmquery().distinct(match, field, function (err, result) {\n console.log(result);\n})\n```\n\n### exec()\n\nExecutes the query.\n\n```js\nmquery().findOne().where('route').intersects(polygon).exec(function (err, docs){})\n```\n\n### stream()\n\nExecutes the query and returns a stream.\n\n```js\nvar stream = mquery().find().stream(options);\nstream.on('data', cb);\nstream.on('close', fn);\n```\n\nNote: this only works with `find()` operations.\n\nNote: returns the stream object directly from the node-mongodb-native driver. (currently streams1 type stream). Any options will be passed along to the [driver method](http://mongodb.github.io/node-mongodb-native/api-generated/cursor.html#stream).\n\n-------------\n\n### all()\n\nSpecifies an `$all` query condition\n\n```js\nmquery().where('permission').all(['read', 'write'])\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/all/)\n\n### and()\n\nSpecifies arguments for an `$and` condition\n\n```js\nmquery().and([{ color: 'green' }, { status: 'ok' }])\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/and/)\n\n### box()\n\nSpecifies a `$box` condition\n\n```js\nvar lowerLeft = [40.73083, -73.99756]\nvar upperRight= [40.741404, -73.988135]\n\nmquery().where('location').within().box(lowerLeft, upperRight)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/box/)\n\n### circle()\n\nSpecifies a `$center` or `$centerSphere` condition.\n\n```js\nvar area = { center: [50, 50], radius: 10, unique: true }\nquery.where('loc').within().circle(area)\nquery.circle('loc', area);\n\n// for spherical calculations\nvar area = { center: [50, 50], radius: 10, unique: true, spherical: true }\nquery.where('loc').within().circle(area)\nquery.circle('loc', area);\n```\n\n- [MongoDB Documentation - center](http://docs.mongodb.org/manual/reference/operator/center/)\n- [MongoDB Documentation - centerSphere](http://docs.mongodb.org/manual/reference/operator/centerSphere/)\n\n### elemMatch()\n\nSpecifies an `$elemMatch` condition\n\n```js\nquery.where('comment').elemMatch({ author: 'autobot', votes: {$gte: 5}})\n\nquery.elemMatch('comment', function (elem) {\n elem.where('author').equals('autobot');\n elem.where('votes').gte(5);\n})\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/elemMatch/)\n\n### equals()\n\nSpecifies the complementary comparison value for the path specified with `where()`.\n\n```js\nmquery().where('age').equals(49);\n\n// is the same as\n\nmquery().where({ 'age': 49 });\n```\n\n### exists()\n\nSpecifies an `$exists` condition\n\n```js\n// { name: { $exists: true }}\nmquery().where('name').exists()\nmquery().where('name').exists(true)\nmquery().exists('name')\n\n// { name: { $exists: false }}\nmquery().where('name').exists(false);\nmquery().exists('name', false);\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/exists/)\n\n### geometry()\n\nSpecifies a `$geometry` condition\n\n```js\nvar polyA = [[[ 10, 20 ], [ 10, 40 ], [ 30, 40 ], [ 30, 20 ]]]\nquery.where('loc').within().geometry({ type: 'Polygon', coordinates: polyA })\n\n// or\nvar polyB = [[ 0, 0 ], [ 1, 1 ]]\nquery.where('loc').within().geometry({ type: 'LineString', coordinates: polyB })\n\n// or\nvar polyC = [ 0, 0 ]\nquery.where('loc').within().geometry({ type: 'Point', coordinates: polyC })\n\n// or\nquery.where('loc').intersects().geometry({ type: 'Point', coordinates: polyC })\n\n// or\nquery.where('loc').near().geometry({ type: 'Point', coordinates: [3,5] })\n```\n\n`geometry()` **must** come after `intersects()`, `within()`, or `near()`.\n\nThe `object` argument must contain `type` and `coordinates` properties.\n\n- type `String`\n- coordinates `Array`\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/geometry/)\n\n### gt()\n\nSpecifies a `$gt` query condition.\n\n```js\nmquery().where('clicks').gt(999)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/gt/)\n\n### gte()\n\nSpecifies a `$gte` query condition.\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/gte/)\n\n```js\nmquery().where('clicks').gte(1000)\n```\n\n### in()\n\nSpecifies an `$in` query condition.\n\n```js\nmquery().where('author_id').in([3, 48901, 761])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/in/)\n\n### intersects()\n\nDeclares an `$geoIntersects` query for `geometry()`.\n\n```js\nquery.where('path').intersects().geometry({\n type: 'LineString'\n , coordinates: [[180.0, 11.0], [180, 9.0]]\n})\n\n// geometry arguments are supported\nquery.where('path').intersects({\n type: 'LineString'\n , coordinates: [[180.0, 11.0], [180, 9.0]]\n})\n```\n\n**Must** be used after `where()`.\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/geoIntersects/)\n\n### lt()\n\nSpecifies a `$lt` query condition.\n\n```js\nmquery().where('clicks').lt(50)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/lt/)\n\n### lte()\n\nSpecifies a `$lte` query condition.\n\n```js\nmquery().where('clicks').lte(49)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/lte/)\n\n### maxDistance()\n\nSpecifies a `$maxDistance` query condition.\n\n```js\nmquery().where('location').near({ center: [139, 74.3] }).maxDistance(5)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/maxDistance/)\n\n### mod()\n\nSpecifies a `$mod` condition\n\n```js\nmquery().where('count').mod(2, 0)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/mod/)\n\n### ne()\n\nSpecifies a `$ne` query condition.\n\n```js\nmquery().where('status').ne('ok')\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/ne/)\n\n### nin()\n\nSpecifies an `$nin` query condition.\n\n```js\nmquery().where('author_id').nin([3, 48901, 761])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/nin/)\n\n### nor()\n\nSpecifies arguments for an `$nor` condition.\n\n```js\nmquery().nor([{ color: 'green' }, { status: 'ok' }])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/nor/)\n\n### near()\n\nSpecifies arguments for a `$near` or `$nearSphere` condition.\n\nThese operators return documents sorted by distance.\n\n#### Example\n\n```js\nquery.where('loc').near({ center: [10, 10] });\nquery.where('loc').near({ center: [10, 10], maxDistance: 5 });\nquery.near('loc', { center: [10, 10], maxDistance: 5 });\n\n// GeoJSON\nquery.where('loc').near({ center: { type: 'Point', coordinates: [10, 10] }});\nquery.where('loc').near({ center: { type: 'Point', coordinates: [10, 10] }, maxDistance: 5, spherical: true });\nquery.where('loc').near().geometry({ type: 'Point', coordinates: [10, 10] });\n\n// For a $nearSphere condition, pass the `spherical` option.\nquery.near({ center: [10, 10], maxDistance: 5, spherical: true });\n```\n\n[MongoDB Documentation](http://www.mongodb.org/display/DOCS/Geospatial+Indexing)\n\n### or()\n\nSpecifies arguments for an `$or` condition.\n\n```js\nmquery().or([{ color: 'red' }, { status: 'emergency' }])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/or/)\n\n### polygon()\n\nSpecifies a `$polygon` condition\n\n```js\nmquery().where('loc').within().polygon([10,20], [13, 25], [7,15])\nmquery().polygon('loc', [10,20], [13, 25], [7,15])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/polygon/)\n\n### regex()\n\nSpecifies a `$regex` query condition.\n\n```js\nmquery().where('name').regex(/^sixstepsrecords/)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/regex/)\n\n### select()\n\nSpecifies which document fields to include or exclude\n\n```js\n// 1 means include, 0 means exclude\nmquery().select({ name: 1, address: 1, _id: 0 })\n\n// or\n\nmquery().select('name address -_id')\n```\n\n##### String syntax\n\nWhen passing a string, prefixing a path with `-` will flag that path as excluded. When a path does not have the `-` prefix, it is included.\n\n```js\n// include a and b, exclude c\nquery.select('a b -c');\n\n// or you may use object notation, useful when\n// you have keys already prefixed with a \"-\"\nquery.select({a: 1, b: 1, c: 0});\n```\n\n_Cannot be used with `distinct()`._\n\n### selected()\n\nDetermines if the query has selected any fields.\n\n```js\nvar query = mquery();\nquery.selected() // false\nquery.select('-name');\nquery.selected() // true\n```\n\n### selectedInclusively()\n\nDetermines if the query has selected any fields inclusively.\n\n```js\nvar query = mquery().select('name');\nquery.selectedInclusively() // true\n\nvar query = mquery();\nquery.selected() // false\nquery.select('-name');\nquery.selectedInclusively() // false\nquery.selectedExclusively() // true\n```\n\n### selectedExclusively()\n\nDetermines if the query has selected any fields exclusively.\n\n```js\nvar query = mquery().select('-name');\nquery.selectedExclusively() // true\n\nvar query = mquery();\nquery.selected() // false\nquery.select('name');\nquery.selectedExclusively() // false\nquery.selectedInclusively() // true\n```\n\n### size()\n\nSpecifies a `$size` query condition.\n\n```js\nmquery().where('someArray').size(6)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/size/)\n\n### slice()\n\nSpecifies a `$slice` projection for a `path`\n\n```js\nmquery().where('comments').slice(5)\nmquery().where('comments').slice(-5)\nmquery().where('comments').slice([-10, 5])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/projection/slice/)\n\n### within()\n\nSets a `$geoWithin` or `$within` argument for geo-spatial queries.\n\n```js\nmquery().within().box()\nmquery().within().circle()\nmquery().within().geometry()\n\nmquery().where('loc').within({ center: [50,50], radius: 10, unique: true, spherical: true });\nmquery().where('loc').within({ box: [[40.73, -73.9], [40.7, -73.988]] });\nmquery().where('loc').within({ polygon: [[],[],[],[]] });\n\nmquery().where('loc').within([], [], []) // polygon\nmquery().where('loc').within([], []) // box\nmquery().where('loc').within({ type: 'LineString', coordinates: [...] }); // geometry\n```\n\nAs of mquery 2.0, `$geoWithin` is used by default. This impacts you if running MongoDB < 2.4. To alter this behavior, see [mquery.use$geoWithin](#mqueryusegeowithin).\n\n**Must** be used after `where()`.\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/geoWithin/)\n\n### where()\n\nSpecifies a `path` for use with chaining\n\n```js\n// instead of writing:\nmquery().find({age: {$gte: 21, $lte: 65}});\n\n// we can instead write:\nmquery().where('age').gte(21).lte(65);\n\n// passing query conditions is permitted too\nmquery().find().where({ name: 'vonderful' })\n\n// chaining\nmquery()\n.where('age').gte(21).lte(65)\n.where({ 'name': /^vonderful/i })\n.where('friends').slice(10)\n.exec(callback)\n```\n\n### $where()\n\nSpecifies a `$where` condition.\n\nUse `$where` when you need to select documents using a JavaScript expression.\n\n```js\nquery.$where('this.comments.length > 10 || this.name.length > 5').exec(callback)\n\nquery.$where(function () {\n return this.comments.length > 10 || this.name.length > 5;\n})\n```\n\nOnly use `$where` when you have a condition that cannot be met using other MongoDB operators like `$lt`. Be sure to read about all of [its caveats](http://docs.mongodb.org/manual/reference/operator/where/) before using.\n\n-----------\n\n### batchSize()\n\nSpecifies the batchSize option.\n\n```js\nquery.batchSize(100)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.batchSize/)\n\n### collation()\n\nSpecifies the collation option.\n\n```js\nquery.collation({ locale: \"en_US\", strength: 1 })\n```\n\n[MongoDB documentation](https://docs.mongodb.com/manual/reference/method/cursor.collation/#cursor.collation)\n\n### comment()\n\nSpecifies the comment option.\n\n```js\nquery.comment('login query');\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/)\n\n### hint()\n\nSets query hints.\n\n```js\nmquery().hint({ indexA: 1, indexB: -1 })\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/hint/)\n\n### j()\n\nRequests acknowledgement that this operation has been persisted to MongoDB's on-disk journal.\n\nThis option is only valid for operations that write to the database:\n\n- `deleteOne()`\n- `deleteMany()`\n- `findOneAndDelete()`\n- `findOneAndUpdate()`\n- `remove()`\n- `update()`\n- `updateOne()`\n- `updateMany()`\n\nDefaults to the `j` value if it is specified in [writeConcern](#writeconcern)\n\n```js\nmquery().j(true);\n```\n\n### limit()\n\nSpecifies the limit option.\n\n```js\nquery.limit(20)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.limit/)\n\n### maxScan()\n\nSpecifies the maxScan option.\n\n```js\nquery.maxScan(100)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/maxScan/)\n\n### maxTime()\n\nSpecifies the maxTimeMS option.\n\n```js\nquery.maxTime(100)\nquery.maxTimeMS(100)\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.maxTimeMS/)\n\n\n### skip()\n\nSpecifies the skip option.\n\n```js\nquery.skip(100).limit(20)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.skip/)\n\n### sort()\n\nSets the query sort order.\n\nIf an object is passed, key values allowed are `asc`, `desc`, `ascending`, `descending`, `1`, and `-1`.\n\nIf a string is passed, it must be a space delimited list of path names. The sort order of each path is ascending unless the path name is prefixed with `-` which will be treated as descending.\n\n```js\n// these are equivalent\nquery.sort({ field: 'asc', test: -1 });\nquery.sort('field -test');\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.sort/)\n\n### read()\n\nSets the readPreference option for the query.\n\n```js\nmquery().read('primary')\nmquery().read('p') // same as primary\n\nmquery().read('primaryPreferred')\nmquery().read('pp') // same as primaryPreferred\n\nmquery().read('secondary')\nmquery().read('s') // same as secondary\n\nmquery().read('secondaryPreferred')\nmquery().read('sp') // same as secondaryPreferred\n\nmquery().read('nearest')\nmquery().read('n') // same as nearest\n\nmquery().setReadPreference('primary') // alias of .read()\n```\n\n##### Preferences:\n\n- `primary` - (default) Read from primary only. Operations will produce an error if primary is unavailable. Cannot be combined with tags.\n- `secondary` - Read from secondary if available, otherwise error.\n- `primaryPreferred` - Read from primary if available, otherwise a secondary.\n- `secondaryPreferred` - Read from a secondary if available, otherwise read from the primary.\n- `nearest` - All operations read from among the nearest candidates, but unlike other modes, this option will include both the primary and all secondaries in the random selection.\n\nAliases\n\n- `p` primary\n- `pp` primaryPreferred\n- `s` secondary\n- `sp` secondaryPreferred\n- `n` nearest\n\n##### Preference Tags:\n\nTo keep the separation of concerns between `mquery` and your driver\nclean, `mquery#read()` no longer handles specifying a second `tags` argument as of version 0.5.\nIf you need to specify tags, pass any non-string argument as the first argument.\n`mquery` will pass this argument untouched to your collections methods later.\nFor example:\n\n```js\n// example of specifying tags using the Node.js driver\nvar ReadPref = require('mongodb').ReadPreference;\nvar preference = new ReadPref('secondary', [{ dc:'sf', s: 1 },{ dc:'ma', s: 2 }]);\nmquery(..).read(preference).exec();\n```\n\nRead more about how to use read preferences [here](http://docs.mongodb.org/manual/applications/replication/#read-preference) and [here](http://mongodb.github.com/node-mongodb-native/driver-articles/anintroductionto1_1and2_2.html#read-preferences).\n\n\n### readConcern()\n\nSets the readConcern option for the query.\n\n```js\n// local\nmquery().readConcern('local')\nmquery().readConcern('l')\nmquery().r('l')\n\n// available\nmquery().readConcern('available')\nmquery().readConcern('a')\nmquery().r('a')\n\n// majority\nmquery().readConcern('majority')\nmquery().readConcern('m')\nmquery().r('m')\n\n// linearizable\nmquery().readConcern('linearizable')\nmquery().readConcern('lz')\nmquery().r('lz')\n\n// snapshot\nmquery().readConcern('snapshot')\nmquery().readConcern('s')\nmquery().r('s')\n```\n\n##### Read Concern Level:\n\n- `local` - The query returns from the instance with no guarantee guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back). (MongoDB 3.2+)\n- `available` - The query returns from the instance with no guarantee guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back). (MongoDB 3.6+)\n- `majority` - The query returns the data that has been acknowledged by a majority of the replica set members. The documents returned by the read operation are durable, even in the event of failure. (MongoDB 3.2+)\n- `linearizable` - The query returns data that reflects all successful majority-acknowledged writes that completed prior to the start of the read operation. The query may wait for concurrently executing writes to propagate to a majority of replica set members before returning results. (MongoDB 3.4+)\n- `snapshot` - Only available for operations within multi-document transactions. Upon transaction commit with write concern \"majority\", the transaction operations are guaranteed to have read from a snapshot of majority-committed data. (MongoDB 4.0+)\n\nAliases\n\n- `l` local\n- `a` available\n- `m` majority\n- `lz` linearizable\n- `s` snapshot\n\nRead more about how to use read concern [here](https://docs.mongodb.com/manual/reference/read-concern/).\n\n### writeConcern()\n\nSets the writeConcern option for the query.\n\nThis option is only valid for operations that write to the database:\n\n- `deleteOne()`\n- `deleteMany()`\n- `findOneAndDelete()`\n- `findOneAndUpdate()`\n- `remove()`\n- `update()`\n- `updateOne()`\n- `updateMany()`\n\n```js\nmquery().writeConcern(0)\nmquery().writeConcern(1)\nmquery().writeConcern({ w: 1, j: true, wtimeout: 2000 })\nmquery().writeConcern('majority')\nmquery().writeConcern('m') // same as majority\nmquery().writeConcern('tagSetName') // if the tag set is 'm', use .writeConcern({ w: 'm' }) instead\nmquery().w(1) // w is alias of writeConcern\n```\n\n##### Write Concern:\n\nwriteConcern({ w: ``, j: ``, wtimeout: `` }`)\n\n- the w option to request acknowledgement that the write operation has propagated to a specified number of mongod instances or to mongod instances with specified tags\n- the j option to request acknowledgement that the write operation has been written to the journal\n- the wtimeout option to specify a time limit to prevent write operations from blocking indefinitely\n\nCan be break down to use the following syntax:\n\nmquery().w(``).j(``).wtimeout(``)\n\nRead more about how to use write concern [here](https://docs.mongodb.com/manual/reference/write-concern/)\n\n### slaveOk()\n\nSets the slaveOk option. `true` allows reading from secondaries.\n\n**deprecated** use [read()](#read) preferences instead if on mongodb >= 2.2\n\n```js\nquery.slaveOk() // true\nquery.slaveOk(true)\nquery.slaveOk(false)\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/rs.slaveOk/)\n\n### snapshot()\n\nSpecifies this query as a snapshot query.\n\n```js\nmquery().snapshot() // true\nmquery().snapshot(true)\nmquery().snapshot(false)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/snapshot/)\n\n### tailable()\n\nSets tailable option.\n\n```js\nmquery().tailable() <== true\nmquery().tailable(true)\nmquery().tailable(false)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/)\n\n### wtimeout()\n\nSpecifies a time limit, in milliseconds, for the write concern. If `w > 1`, it is maximum amount of time to\nwait for this write to propagate through the replica set before this operation fails. The default is `0`, which means no timeout.\n\nThis option is only valid for operations that write to the database:\n\n- `deleteOne()`\n- `deleteMany()`\n- `findOneAndDelete()`\n- `findOneAndUpdate()`\n- `remove()`\n- `update()`\n- `updateOne()`\n- `updateMany()`\n\nDefaults to `wtimeout` value if it is specified in [writeConcern](#writeconcern)\n\n```js\nmquery().wtimeout(2000)\nmquery().wTimeout(2000)\n```\n\n## Helpers\n\n### collection()\n\nSets the querys collection.\n\n```js\nmquery().collection(aCollection)\n```\n\n### then()\n\nExecutes the query and returns a promise which will be resolved with the query results or rejected if the query responds with an error.\n\n```js\nmquery().find(..).then(success, error);\n```\n\nThis is very useful when combined with [co](https://github.com/visionmedia/co) or [koa](https://github.com/koajs/koa), which automatically resolve promise-like objects for you.\n\n```js\nco(function*(){\n var doc = yield mquery().findOne({ _id: 499 });\n console.log(doc); // { _id: 499, name: 'amazing', .. }\n})();\n```\n\n_NOTE_:\nThe returned promise is a [bluebird](https://github.com/petkaantonov/bluebird/) promise but this is customizable. If you want to\nuse your favorite promise library, simply set `mquery.Promise = YourPromiseConstructor`.\nYour `Promise` must be [promises A+](http://promisesaplus.com/) compliant.\n\n### thunk()\n\nReturns a thunk which when called runs the query's `exec` method passing the results to the callback.\n\n```js\nvar thunk = mquery(collection).find({..}).thunk();\n\nthunk(function(err, results) {\n\n})\n```\n\n### merge(object)\n\nMerges other mquery or match condition objects into this one. When an mquery instance is passed, its match conditions, field selection and options are merged.\n\n```js\nvar drum = mquery({ type: 'drum' }).collection(instruments);\nvar redDrum = mquery({ color: 'red' }).merge(drum);\nredDrum.count(function (err, n) {\n console.log('there are %d red drums', n);\n})\n```\n\nInternally uses `mquery.canMerge` to determine validity.\n\n### setOptions(options)\n\nSets query options.\n\n```js\nmquery().setOptions({ collection: coll, limit: 20 })\n```\n\n##### options\n\n- [tailable](#tailable) *\n- [sort](#sort) *\n- [limit](#limit) *\n- [skip](#skip) *\n- [maxScan](#maxscan) *\n- [maxTime](#maxtime) *\n- [batchSize](#batchSize) *\n- [comment](#comment) *\n- [snapshot](#snapshot) *\n- [hint](#hint) *\n- [collection](#collection): the collection to query against\n\n_* denotes a query helper method is also available_\n\n### setTraceFunction(func)\n\nSet a function to trace this query. Useful for profiling or logging.\n\n```js\nfunction traceFunction (method, queryInfo, query) {\n console.log('starting ' + method + ' query');\n\n return function (err, result, millis) {\n console.log('finished ' + method + ' query in ' + millis + 'ms');\n };\n}\n\nmquery().setTraceFunction(traceFunction).findOne({name: 'Joe'}, cb);\n```\n\nThe trace function is passed (method, queryInfo, query)\n\n- method is the name of the method being called (e.g. findOne)\n- queryInfo contains information about the query:\n - conditions: query conditions/criteria\n - options: options such as sort, fields, etc\n - doc: document being updated\n- query is the query object\n\nThe trace function should return a callback function which accepts:\n- err: error, if any\n- result: result, if any\n- millis: time spent waiting for query result\n\nNOTE: stream requests are not traced.\n\n### mquery.setGlobalTraceFunction(func)\n\nSimilar to `setTraceFunction()` but automatically applied to all queries.\n\n```js\nmquery.setTraceFunction(traceFunction);\n```\n\n### mquery.canMerge(conditions)\n\nDetermines if `conditions` can be merged using `mquery().merge()`.\n\n```js\nvar query = mquery({ type: 'drum' });\nvar okToMerge = mquery.canMerge(anObject)\nif (okToMerge) {\n query.merge(anObject);\n}\n```\n\n## mquery.use$geoWithin\n\nMongoDB 2.4 introduced the `$geoWithin` operator which replaces and is 100% backward compatible with `$within`. As of mquery 0.2, we default to using `$geoWithin` for all `within()` calls.\n\nIf you are running MongoDB < 2.4 this will be problematic. To force `mquery` to be backward compatible and always use `$within`, set the `mquery.use$geoWithin` flag to `false`.\n\n```js\nmquery.use$geoWithin = false;\n```\n\n## Custom Base Queries\n\nOften times we want custom base queries that encapsulate predefined criteria. With `mquery` this is easy. First create the query you want to reuse and call its `toConstructor()` method which returns a new subclass of `mquery` that retains all options and criteria of the original.\n\n```js\nvar greatMovies = mquery(movieCollection).where('rating').gte(4.5).toConstructor();\n\n// use it!\ngreatMovies().count(function (err, n) {\n console.log('There are %d great movies', n);\n});\n\ngreatMovies().where({ name: /^Life/ }).select('name').find(function (err, docs) {\n console.log(docs);\n});\n```\n\n## Validation\n\nMethod and options combinations are checked for validity at runtime to prevent creation of invalid query constructs. For example, a `distinct` query does not support specifying options like `hint` or field selection. In this case an error will be thrown so you can catch these mistakes in development.\n\n## Debug support\n\nDebug mode is provided through the use of the [debug](https://github.com/visionmedia/debug) module. To enable:\n\n DEBUG=mquery node yourprogram.js\n\nRead the debug module documentation for more details.\n\n## General compatibility\n\n#### ObjectIds\n\n`mquery` clones query arguments before passing them to a `collection` method for execution.\nThis prevents accidental side-affects to the objects you pass.\nTo clone `ObjectIds` we need to make some assumptions.\n\nFirst, to check if an object is an `ObjectId`, we check its constructors name. If it matches either\n`ObjectId` or `ObjectID` we clone it.\n\nTo clone `ObjectIds`, we call its optional `clone` method. If a `clone` method does not exist, we fall\nback to calling `new obj.constructor(obj.id)`. We assume, for compatibility with the\nNode.js driver, that the `ObjectId` instance has a public `id` property and that\nwhen creating an `ObjectId` instance we can pass that `id` as an argument.\n\n#### Read Preferences\n\n`mquery` supports specifying [Read Preferences]() to control from which MongoDB node your query will read.\nThe Read Preferences spec also support specifying tags. To pass tags, some\ndrivers (Node.js driver) require passing a special constructor that handles both the read preference and its tags.\nIf you need to specify tags, pass an instance of your drivers ReadPreference constructor or roll your own. `mquery` will store whatever you provide and pass later to your collection during execution.\n\n## Future goals\n\n - mongo shell compatibility\n - browser compatibility\n\n## Installation\n\n $ npm install mquery\n\n## License\n\n[MIT](https://github.com/aheckmann/mquery/blob/master/LICENSE)\n\n","readmeFilename":"README.md","gitHead":"98a28d4ecf7d7d6bae3e295ea46c732ea4a45b4b","_id":"mquery@4.0.0-rc0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-v9rY0t64CRK8mkYyWvYtd3wags60LFYgw5Wrw69bSoFSIgunyyagR1WEhRzziuif/+gmlVcldXTHi/mo4dBLsQ==","shasum":"a798dd6c10067896e92d393e0704e2e51f0f6862","tarball":"https://registry.npmjs.org/mquery/-/mquery-4.0.0-rc0.tgz","fileCount":23,"unpackedSize":245417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHvH+CRA9TVsSAnZWagAAmEwP/A5BdGtJJutx/93OcfRP\nJDaz97PETv0JnKPgF7LYY/xMis1nwcyfX/DF/tbK88hdZUa011abgFZJriGU\nkHJTIGcD5Yl9BWlzvbQG/CzebbFEiexTKcFgK4iVGSvcwYgkAT3GMm+H0ZBq\nliuryKBHy7LskUGCinZxo2JLTQ4xq0BTij+0gsx9BB7LgvA8PEpxz1hJJye5\nNwqD56degqcB4w6LusVshu6WEnSw7U+ll7clovCEDNTQm169GcmpMfMi0G+Q\nhmMu8nOoxJSVoISJpykd7UVRMoMFssjLNtKylvJq4r1pOs42sHasesmH+pgj\n1LcseRMI0NvxTg+o98nclTCfbXaXnZNoMjowUAwzgltFiYktlTUPIjWqiZYg\nyDydd1ctrVspnSr3zEOkdUoNZR7Ij9+kMmZn6bZv4q9ZUhJdfC/+E9G0kS/t\nDNcBPOovofNQfLrK7/4NDDBE4ujwly+4ciExB85FRPESLVRcOOOuzhp+9/O4\n5bEY8bwASJeQsZlNsVze04d44/uP2eG6TP2HXwOJKFMkEZx2mJqkxCof0GM+\nfdgts/HcApKGW1aljx3i375/COkiX99gqUSGDjH8k83VQfS4aohxf8qpCiJC\nw5tzVpbOzmy8A70BkMXyJSfD3FiSzGeJ4YY4b/UXOtLUD9mkeo6m2Ay1NHiH\nb8Ch\r\n=8Ij+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmd0B50+CYJR8AtLecaipit3QpS3gqLe9AjcDOV8Q1GgIhAJw/jHr7gXMHuQqMJO0OTdmrXtSVzZge8LLS52983ykK"}]},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_4.0.0-rc0_1629417982801_0.038880839809515955"},"_hasShrinkwrap":false},"4.0.0":{"name":"mquery","version":"4.0.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=12.0.0"},"dependencies":{"debug":"4.x","regexp-clone":"^1.0.0","sliced":"1.0.1"},"devDependencies":{"eslint":"5.x","eslint-plugin-mocha-no-only":"1.1.0","mocha":"9.x","mongodb":"4.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"9f49aae1d567334612a2f3ce8c94787968cfd830","_id":"mquery@4.0.0","_nodeVersion":"14.4.0","_npmVersion":"7.18.1","dist":{"integrity":"sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==","shasum":"6c62160ad25289e99e0840907757cdfd62bde775","tarball":"https://registry.npmjs.org/mquery/-/mquery-4.0.0.tgz","fileCount":23,"unpackedSize":245433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJWzMCRA9TVsSAnZWagAAT0IP/2Z2sp/T/XrhzriQ/yRO\nYYQFoXG83Bz76ex+lIjuBFqNrPx7dAKjA52o322/l75na5TG5ci5cCxx0Wz2\niZySxWnkCo5wqZwcSXgHP8iktvGHtvRnZK1sWuqfsYKbpYRt5YTBAPTsyF7b\n5aEUfrmmAoZV0065u9+vUZS9CHZIu5gNhuwUbiDN3z9iTSoFqhrJBhoMns8P\nWyZ4WjkKhBvaAbqoOGiCRfY6vRHKujoSExJDE9XKW2IT5c/zzlHmKpLZ0+hN\nlv27VlZsyYXqKXYxLwS128Ao7kKg98ry8ogAPC+LmYe+pxplJU1cr9xQjEnC\n1JLnsHZT9QDZ+ozhWF3LabkEjci9Cdm4gMIOsNY4hKFrOxH029w/4aD+ai82\nwPuOWCYW4w11SHmexttQOxfFMH7Ga1fRhFaDZZ2qZrsTXEUc+MBwVHiArIRf\naI3nW56hdlaIJiVquRy0gekHQJoSReax9HRgTUjwjtpWpihRfQ8nGpxQK6US\n+ue0DGqBF5jm2zayJpDsNapcaxVIktBJNRy9so0ZUdcf15jgw6JXFV1tARQG\n0/AMSmiuLFwyWJJ7Wi2AN38+otmSDtJmcRZ+FwuK079voDkLJHVmjekyRtzT\nX289GyXvpWlG2/fzMXorQnufGIFDlQtK1VGIvPECFf4JbZ4AYzM/9A353w4F\nwXF/\r\n=wPj+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD24l0e1cOapcTxcDTaLk4SxdQ/98ue6fyR+aD9LW6qhQIgeEV/IEdXLBskzN5GtY0OwO3yWkqZCDABVB7Hg3wg7j4="}]},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_4.0.0_1629842636017_0.5937004252847196"},"_hasShrinkwrap":false},"4.0.1":{"name":"mquery","version":"4.0.1","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=12.0.0"},"dependencies":{"debug":"4.x","regexp-clone":"^1.0.0"},"devDependencies":{"eslint":"8.x","eslint-plugin-mocha-no-only":"1.1.1","mocha":"9.x","mongodb":"4.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"e568e371bcdd06025577d750a84c96cc5eb555c2","_id":"mquery@4.0.1","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-DueOyCB6vwEuo1df7tF/Jsbozxf9oeY2rfYTAhbeq2bEufKpE7SEvVYrS88M9Ecfh0OwFKyBrRR58V57j+g9ZQ==","shasum":"87ad7ee99ee8d6079ec0ee6f7f0be43e25b7a333","tarball":"https://registry.npmjs.org/mquery/-/mquery-4.0.1.tgz","fileCount":23,"unpackedSize":244765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6hD/CRA9TVsSAnZWagAAJxUQAJO0ymOnUyJ/zaWDFlee\nHqTSIrnrZiweT5pbZgrQtkLUKMu+dJJvKp0hGe/HJfQLh+grvOzm9eKTiAkW\nifgYshNIQft5VsauRDK7/VnwDtVOpSBGwn74k6aZ1XoLaW3AWB+MsByN4Opa\ntG++9Nef9yuCiOG5fHjVK0JnhfBbtuKLufuDOLruKsIMrXppe+h6WMpLaLf7\n/397ziMKDi+7Eep6HLSkaw0wB5jmqkTypTI3w8xCCWIl7ILTcrmKokHv4i72\njKuW5ANrnKc0NENiFh14FTnaA5pEUNI5IbACzNbkfm9snrrMUo3Cfgd5chpe\n4qbwNLR9Jg1VIubEvQn6nwFeU6rc/dgMJ0SP6fdsj7KmbgIkI29S3hYtk7QP\nyXOGXK5t9ZvxZsCdVPZ6Xit53O1sLfJojkvmpTZNCQQt4OhiVKhZxB0x8cm7\n8wwGkfFzr21GISKYo3BUL/6b7xgWIc2aTiyPLdiSfvKPPioqhsspYHNMZTaa\nHE8iThA7KgMpz6Q9eXUxNXfy7CRqMVGrHAttBCOFyRjkjxguATVEIrnMJJj+\nol/C16pUrSGceqQkDPGRA0V9+KKnusoCrmN2me9G2T15/2MOXQOLrnO/uSDl\nA7KYKo+0cCbZYOj5bw0dUqS0dIa6hhN50Z10Xkwdb/W4AlFSWeieLmj2YQ2J\napfv\r\n=bl6M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVdzhQB+PMDvcConrrf0pmAUxOql+RA31WHwIR46+4EAiEAsiVZRKnevkYQBNH5Nm8bRsubcCZf+qpIyLgbIob9R7o="}]},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_4.0.1_1642729727741_0.9273493321388495"},"_hasShrinkwrap":false},"4.0.2":{"name":"mquery","version":"4.0.2","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=12.0.0"},"dependencies":{"debug":"4.x"},"devDependencies":{"eslint":"8.x","eslint-plugin-mocha-no-only":"1.1.1","mocha":"9.x","mongodb":"4.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"ed7373c6a12e6c1660b30bb95f2e253c7d2ae1e1","_id":"mquery@4.0.2","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==","shasum":"a13add5ecd7c2e5a67e0f814b3c7acdfb6772804","tarball":"https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz","fileCount":23,"unpackedSize":245321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7gwWCRA9TVsSAnZWagAAFO8QAKP28dA1jkoLGAlN7jjE\nAggvMGBBVj/dNUpSUTuCh580PMm9V+OrCkF/ECtfICaBNVganXKRfjmwlmit\nFN7ETz1vBXxzgmCui872wUeu43mCW5goK0QIuFsZGQw7BCvWrQntm2f8ikAL\nbzwc3MDH1A80UN5sdu33v8jD2n6LrtFHN5T0p+YYVKTDefLdoWKGUjFcrmem\nZPb/05AHUgRFOXHtqFFdK4MiGM+cKFGX4twbTL55oN9IyaNBVohOPXD21Eb3\nMGOWF7+Yuox4WPPClTww5RDP38R7iPlMwBOog/Xt1F0bXRqB6dxDEnqlsefE\nUPgcZ6aqSwjlJNAAmF+aLVE3Goqqn31W4MxLpDqFsx3WvBxwuNYUZRHTQ2Vd\nkQR1HbFA4nPhcd6KX+BVatSjgZpCwiyM6dQaS6c9EOVedP6gDwdVP9SHYAYi\nwrKL7RFvck/MKnYHRLLraf5U4NhJ128FrJo8aeFPdv4X8vlfD6C0QC4oUrhF\ntMa7NBdZqpe6LGB+ymyOGZ6pita/TfW8LF/pXRoG5RcNI2poOLAQSk4s3vT9\nQSNTEuYsLnuYbpP0XlMtjlbYC1wwkb59sG8NDGR5jgsHM4P+BXB/3oP/GeEZ\npkTdZvSKnhd6jRsQSZGDa7AUCohUkOJIzwEwZdLkubmKucG3m+htz+dbetaM\ncgQc\r\n=8/eT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICxAQnmmh9f07aAQ02IKoVz9NqMiSTPgHVimHTMXI88kAiEAubnNMMOjwWgm5JVIG7M36LA0d9BvT7eh1qjgge7wklw="}]},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_4.0.2_1642990614063_0.7803655374250256"},"_hasShrinkwrap":false},"4.0.3":{"name":"mquery","version":"4.0.3","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=12.0.0"},"dependencies":{"debug":"4.x"},"devDependencies":{"eslint":"8.x","eslint-plugin-mocha-no-only":"1.1.1","mocha":"9.x","mongodb":"4.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"270cae6b1150946e938cb275d3fe17b9866b8a92","_id":"mquery@4.0.3","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==","shasum":"4d15f938e6247d773a942c912d9748bd1965f89d","tarball":"https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz","fileCount":23,"unpackedSize":244516,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGc1ou3UistHR9zadIRsSGhSEHKQobP0/4W8syaNPYV4AiAoQolYxproaD2XceAmSyLMhsBAI0ViKBbbvd8NneoWnA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJig9mjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoChAAkMTh7krZUvuilIzhMLnzc0GPr0eJaskQP87xQD0HyUhIsyGn\r\n0Bvtc8USfG+FFsCFv0H2yumFOKUv3UvDuk7Oi+lKaKxpwBKxx6so2AtSH71V\r\nM7NzhuyKVpSrcuurOIxlh5s18pa0nxG7txWkP+6j2vPRGoeq13X7V0+gkxpO\r\nMLfoIjCU0D/YUknETjI9ds3Z2WdLOrgQKsd1/hrzGKMw49b+VVJCykOaiplP\r\nYAL0DpGCh4obPvmq2cvnjmz/Otusu7GlFLWLTSpLp9XRfBceJcjci3wA0xuS\r\niYfh8pQ6DiVxTW77LuGUGQJEPgSfRnDbUelx2JAZBHsXoyJu1luRPHIcYvez\r\n50AjR47oLfqUrw4nszBr/wyduO1DkXWen5nO/O/PzTF96WWhDPwsAtEUkcFn\r\n7Kt9CI6FMr9EGDu3BA/Cbn1urEWMm1oAMRCA4Jz0x4IPMWMq9ozLxmusSzT3\r\n0EhMyOlSNcnNJqIv2+x/w50gWJgUxaw81I2mz0AxYMpMxYuT9jY5wg7Vkrxi\r\n7b6Txk5aR+jqZdnQ90Y23jQm1fJ2LyxvTj2dDb87UA0Hs1gkvv7m4nRL9dtW\r\nEKxWp35s1zJ7WIaSWdl8JK1tEYJEQUrWB1h7mkB4iRdAY4+fY+9SHg5XuWnk\r\nuqnjRfsGNqI6OcmD0LXYX6Wprlr8vdSH0fI=\r\n=RjZm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_4.0.3_1652808099771_0.4034886629134109"},"_hasShrinkwrap":false},"5.0.0":{"name":"mquery","version":"5.0.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"mocha --exit test/index.js test/*.test.js","fix-lint":"eslint . --fix","lint":"eslint ."},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"engines":{"node":">=14.0.0"},"dependencies":{"debug":"4.x"},"devDependencies":{"eslint":"8.x","eslint-plugin-mocha-no-only":"1.1.1","mocha":"9.x","mongodb":"5.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","gitHead":"e7a8a3099ef282a2d9af36a2880981871adfe9fd","_id":"mquery@5.0.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==","shasum":"a95be5dfc610b23862df34a47d3e5d60e110695d","tarball":"https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz","fileCount":14,"unpackedSize":127500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLUsx/otSSZ0vcIUyoCJBzXLJ0v21cN4uUr+5Y8SEWKQIgDu1cmXV/JJcBKoEWqh329wb3JkfELuZJKmHGO8WzGac="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj97SpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQGxAAiBAS6Uh3eoykQ9hyo+TBgxfn0RZ81yzNiPHQW5r+JUefEnoz\r\nbARylas5qXoPjUhc8Z0ImM7V8aJWUv3vdKW+WNJnUPqA4+t/W7q28vfLcQ+I\r\nsmC6x0HuKWveRaLMeiSw64mdGnP0kihKQJWiDd9kT2V4va3RNlcbcbmn7j4Z\r\nqQTdPzZ/jXqrgmnltQRV/2Yq/foV2bj7iYT3AFBszQ+eKsftdU7gI9gIXLa9\r\nqEfOvM71dtB8MTt1xLy8XcYFXZZEysU8fJUS03RgiUkR7tm47k6Md56nnq7L\r\n2BOnD8pzfLlf0DaM57jbEKT0Ewn+DoiyooD8qkMMcvFesGnf47NIVSQ2QIUa\r\nph8JxHmckAMnUbwiE71UIXUQ76+fwhNeJodPIF3MR40BhptgcN/qxX4R3dZh\r\nl4y8uqunRPJHz6D/jVmI8wtObX2AoqbkEThSV/0OCLu5tbZ5LRTOOefTyaiq\r\nbkDhzg8NdhcsKACPOJIiXbZcvVvMM3G8c0ENCk2P1P3vBY3YK2SO6sLTHHh8\r\ncqIwQ8cE3SQa73o77SYY0XxsOrsh4YQMPItBZwtultNH4BgNz3vGAYRnXyMx\r\nZDzmETWOWTkiJfUSBOsClogBgnCVP/SgjlW6hmCNkn61O9S0Caq92sG/gaif\r\nk12w56L+T52f9Ey+U9/ZX9fWgQTpncDcsPU=\r\n=wtcv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mquery_5.0.0_1677178025080_0.9371255315500484"},"_hasShrinkwrap":false}},"readme":"# mquery\n\n`mquery` is a fluent mongodb query builder designed to run in multiple environments.\n\n[![Build Status](https://travis-ci.org/aheckmann/mquery.svg?branch=master)](https://travis-ci.org/aheckmann/mquery)\n[![NPM version](https://badge.fury.io/js/mquery.svg)](http://badge.fury.io/js/mquery)\n\n[![npm](https://nodei.co/npm/mquery.png)](https://www.npmjs.com/package/mquery)\n\n## Features\n\n- fluent query builder api\n- custom base query support\n- MongoDB 2.4 geoJSON support\n- method + option combinations validation\n- node.js driver compatibility\n- environment detection\n- [debug](https://github.com/visionmedia/debug) support\n- separated collection implementations for maximum flexibility\n\n## Use\n\n```js\nconst mongo = require('mongodb');\n\nconst client = new mongo.MongoClient(uri);\nawait client.connect();\n// get a collection\nconst collection = client.collection('artists');\n\n// pass it to the constructor\nawait mquery(collection).find({...});\n\n// or pass it to the collection method\nconst docs = await mquery().find({...}).collection(collection);\n\n// or better yet, create a custom query constructor that has it always set\nconst Artist = mquery(collection).toConstructor();\nconst docs = await Artist().find(...).where(...);\n```\n\n`mquery` requires a collection object to work with. In the example above we just pass the collection object created using the official [MongoDB driver](https://github.com/mongodb/node-mongodb-native).\n\n## Fluent API\n\n- [mquery](#mquery)\n - [Features](#features)\n - [Use](#use)\n - [Fluent API](#fluent-api)\n - [Helpers](#helpers)\n - [find()](#find)\n - [findOne()](#findone)\n - [count()](#count)\n - [findOneAndUpdate()](#findoneandupdate)\n - [findOneAndUpdate() options](#findoneandupdate-options)\n - [findOneAndRemove()](#findoneandremove)\n - [findOneAndRemove() options](#findoneandremove-options)\n - [distinct()](#distinct)\n - [exec()](#exec)\n - [stream()](#stream)\n - [all()](#all)\n - [and()](#and)\n - [box()](#box)\n - [circle()](#circle)\n - [elemMatch()](#elemmatch)\n - [equals()](#equals)\n - [exists()](#exists)\n - [geometry()](#geometry)\n - [gt()](#gt)\n - [gte()](#gte)\n - [in()](#in)\n - [intersects()](#intersects)\n - [lt()](#lt)\n - [lte()](#lte)\n - [maxDistance()](#maxdistance)\n - [mod()](#mod)\n - [ne()](#ne)\n - [nin()](#nin)\n - [nor()](#nor)\n - [near()](#near)\n - [Example](#example)\n - [or()](#or)\n - [polygon()](#polygon)\n - [regex()](#regex)\n - [select()](#select)\n - [String syntax](#string-syntax)\n - [selected()](#selected)\n - [selectedInclusively()](#selectedinclusively)\n - [selectedExclusively()](#selectedexclusively)\n - [size()](#size)\n - [slice()](#slice)\n - [within()](#within)\n - [where()](#where)\n - [$where()](#where-1)\n - [batchSize()](#batchsize)\n - [collation()](#collation)\n - [comment()](#comment)\n - [hint()](#hint)\n - [j()](#j)\n - [limit()](#limit)\n - [maxTime()](#maxtime)\n - [skip()](#skip)\n - [sort()](#sort)\n - [read()](#read)\n - [Preferences:](#preferences)\n - [Preference Tags:](#preference-tags)\n - [readConcern()](#readconcern)\n - [Read Concern Level:](#read-concern-level)\n - [writeConcern()](#writeconcern)\n - [Write Concern:](#write-concern)\n - [slaveOk()](#slaveok)\n - [tailable()](#tailable)\n - [wtimeout()](#wtimeout)\n - [Helpers](#helpers-1)\n - [collection()](#collection)\n - [then()](#then)\n - [merge(object)](#mergeobject)\n - [setOptions(options)](#setoptionsoptions)\n - [setOptions() options](#setoptions-options)\n - [setTraceFunction(func)](#settracefunctionfunc)\n - [mquery.setGlobalTraceFunction(func)](#mquerysetglobaltracefunctionfunc)\n - [mquery.canMerge(conditions)](#mquerycanmergeconditions)\n - [mquery.use$geoWithin](#mqueryusegeowithin)\n - [Custom Base Queries](#custom-base-queries)\n - [Validation](#validation)\n - [Debug support](#debug-support)\n - [General compatibility](#general-compatibility)\n - [ObjectIds](#objectids)\n - [Read Preferences](#read-preferences)\n - [Future goals](#future-goals)\n - [Installation](#installation)\n - [License](#license)\n\n## Helpers\n\n- [collection](#collection)\n- [then](#then)\n- [merge](#mergeobject)\n- [setOptions](#setoptionsoptions)\n- [setTraceFunction](#settracefunctionfunc)\n- [mquery.setGlobalTraceFunction](#mquerysetglobaltracefunctionfunc)\n- [mquery.canMerge](#mquerycanmergeconditions)\n- [mquery.use$geoWithin](#mqueryusegeowithin)\n\n### find()\n\nDeclares this query a _find_ query. Optionally pass a match clause.\n\n```js\nmquery().find()\nmquery().find(match)\nawait mquery().find()\nconst docs = await mquery().find(match);\nassert(Array.isArray(docs));\n```\n\n### findOne()\n\nDeclares this query a _findOne_ query. Optionally pass a match clause.\n\n```js\nmquery().findOne()\nmquery().findOne(match)\nawait mquery().findOne()\nconst doc = await mquery().findOne(match);\nif (doc) {\n // the document may not be found\n console.log(doc);\n}\n```\n\n### count()\n\nDeclares this query a _count_ query. Optionally pass a match clause.\n\n```js\nmquery().count()\nmquery().count(match)\nawait mquery().count()\nconst number = await mquery().count(match);\nconsole.log('we found %d matching documents', number);\n```\n\n### findOneAndUpdate()\n\nDeclares this query a _findAndModify_ with update query. Optionally pass a match clause, update document, options.\n\nWhen executed, the first matching document (if found) is modified according to the update document and passed back.\n\n#### findOneAndUpdate() options\n\nOptions are passed to the `setOptions()` method.\n\n- `returnDocument`: string - `'after'` to return the modified document rather than the original. defaults to `'before'`\n- `upsert`: boolean - creates the object if it doesn't exist. defaults to false\n- `sort`: if multiple docs are found by the match condition, sets the sort order to choose which doc to update\n\n```js\nquery.findOneAndUpdate()\nquery.findOneAndUpdate(updateDocument)\nquery.findOneAndUpdate(match, updateDocument)\nquery.findOneAndUpdate(match, updateDocument, options)\n\n// the following all execute the command\nawait query.findOneAndUpdate()\nawait query.findOneAndUpdate(updateDocument)\nawait query.findOneAndUpdate(match, updateDocument)\nconst doc = await await query.findOneAndUpdate(match, updateDocument, options);\nif (doc) {\n // the document may not be found\n console.log(doc);\n}\n```\n\n### findOneAndRemove()\n\nDeclares this query a _findAndModify_ with remove query. Alias of findOneAndDelete.\nOptionally pass a match clause, options.\n\nWhen executed, the first matching document (if found) is modified according to the update document, removed from the collection and passed as a result.\n\n#### findOneAndRemove() options\n\nOptions are passed to the `setOptions()` method.\n\n- `sort`: if multiple docs are found by the condition, sets the sort order to choose which doc to modify and remove\n\n```js\nA.where().findOneAndDelete()\nA.where().findOneAndRemove()\nA.where().findOneAndRemove(match)\nA.where().findOneAndRemove(match, options)\n\n// the following all execute the command\nawait A.where().findOneAndRemove()\nawait A.where().findOneAndRemove(match)\nconst doc = await A.where().findOneAndRemove(match, options);\nif (doc) {\n // the document may not be found\n console.log(doc);\n}\n```\n\n### distinct()\n\nDeclares this query a _distinct_ query. Optionally pass the distinct field, a match clause.\n\n```js\nmquery().distinct()\nmquery().distinct(match)\nmquery().distinct(match, field)\nmquery().distinct(field)\n\n// the following all execute the command\nawait mquery().distinct()\nawait mquery().distinct(field)\nawait mquery().distinct(match)\nconst result = await mquery().distinct(match, field);\nconsole.log(result);\n```\n\n### exec()\n\nExecutes the query.\n\n```js\nconst docs = await mquery().findOne().where('route').intersects(polygon).exec()\n```\n\n### stream()\n\nExecutes the query and returns a stream.\n\n```js\nvar stream = mquery().find().stream(options);\nstream.on('data', cb);\nstream.on('close', fn);\n```\n\nNote: this only works with `find()` operations.\n\nNote: returns the stream object directly from the node-mongodb-native driver. (currently streams1 type stream). Any options will be passed along to the [driver method](http://mongodb.github.io/node-mongodb-native/api-generated/cursor.html#stream).\n\n---\n\n### all()\n\nSpecifies an `$all` query condition\n\n```js\nmquery().where('permission').all(['read', 'write'])\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/all/)\n\n### and()\n\nSpecifies arguments for an `$and` condition\n\n```js\nmquery().and([{ color: 'green' }, { status: 'ok' }])\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/and/)\n\n### box()\n\nSpecifies a `$box` condition\n\n```js\nvar lowerLeft = [40.73083, -73.99756]\nvar upperRight= [40.741404, -73.988135]\n\nmquery().where('location').within().box(lowerLeft, upperRight)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/box/)\n\n### circle()\n\nSpecifies a `$center` or `$centerSphere` condition.\n\n```js\nvar area = { center: [50, 50], radius: 10, unique: true }\nquery.where('loc').within().circle(area)\nquery.circle('loc', area);\n\n// for spherical calculations\nvar area = { center: [50, 50], radius: 10, unique: true, spherical: true }\nquery.where('loc').within().circle(area)\nquery.circle('loc', area);\n```\n\n- [MongoDB Documentation - center](http://docs.mongodb.org/manual/reference/operator/center/)\n- [MongoDB Documentation - centerSphere](http://docs.mongodb.org/manual/reference/operator/centerSphere/)\n\n### elemMatch()\n\nSpecifies an `$elemMatch` condition\n\n```js\nquery.where('comment').elemMatch({ author: 'autobot', votes: {$gte: 5}})\n\nquery.elemMatch('comment', function (elem) {\n elem.where('author').equals('autobot');\n elem.where('votes').gte(5);\n})\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/elemMatch/)\n\n### equals()\n\nSpecifies the complementary comparison value for the path specified with `where()`.\n\n```js\nmquery().where('age').equals(49);\n\n// is the same as\n\nmquery().where({ 'age': 49 });\n```\n\n### exists()\n\nSpecifies an `$exists` condition\n\n```js\n// { name: { $exists: true }}\nmquery().where('name').exists()\nmquery().where('name').exists(true)\nmquery().exists('name')\n\n// { name: { $exists: false }}\nmquery().where('name').exists(false);\nmquery().exists('name', false);\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/exists/)\n\n### geometry()\n\nSpecifies a `$geometry` condition\n\n```js\nvar polyA = [[[ 10, 20 ], [ 10, 40 ], [ 30, 40 ], [ 30, 20 ]]]\nquery.where('loc').within().geometry({ type: 'Polygon', coordinates: polyA })\n\n// or\nvar polyB = [[ 0, 0 ], [ 1, 1 ]]\nquery.where('loc').within().geometry({ type: 'LineString', coordinates: polyB })\n\n// or\nvar polyC = [ 0, 0 ]\nquery.where('loc').within().geometry({ type: 'Point', coordinates: polyC })\n\n// or\nquery.where('loc').intersects().geometry({ type: 'Point', coordinates: polyC })\n\n// or\nquery.where('loc').near().geometry({ type: 'Point', coordinates: [3,5] })\n```\n\n`geometry()` **must** come after `intersects()`, `within()`, or `near()`.\n\nThe `object` argument must contain `type` and `coordinates` properties.\n\n- type `String`\n- coordinates `Array`\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/geometry/)\n\n### gt()\n\nSpecifies a `$gt` query condition.\n\n```js\nmquery().where('clicks').gt(999)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/gt/)\n\n### gte()\n\nSpecifies a `$gte` query condition.\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/gte/)\n\n```js\nmquery().where('clicks').gte(1000)\n```\n\n### in()\n\nSpecifies an `$in` query condition.\n\n```js\nmquery().where('author_id').in([3, 48901, 761])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/in/)\n\n### intersects()\n\nDeclares an `$geoIntersects` query for `geometry()`.\n\n```js\nquery.where('path').intersects().geometry({\n type: 'LineString'\n , coordinates: [[180.0, 11.0], [180, 9.0]]\n})\n\n// geometry arguments are supported\nquery.where('path').intersects({\n type: 'LineString'\n , coordinates: [[180.0, 11.0], [180, 9.0]]\n})\n```\n\n**Must** be used after `where()`.\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/geoIntersects/)\n\n### lt()\n\nSpecifies a `$lt` query condition.\n\n```js\nmquery().where('clicks').lt(50)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/lt/)\n\n### lte()\n\nSpecifies a `$lte` query condition.\n\n```js\nmquery().where('clicks').lte(49)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/lte/)\n\n### maxDistance()\n\nSpecifies a `$maxDistance` query condition.\n\n```js\nmquery().where('location').near({ center: [139, 74.3] }).maxDistance(5)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/maxDistance/)\n\n### mod()\n\nSpecifies a `$mod` condition\n\n```js\nmquery().where('count').mod(2, 0)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/mod/)\n\n### ne()\n\nSpecifies a `$ne` query condition.\n\n```js\nmquery().where('status').ne('ok')\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/ne/)\n\n### nin()\n\nSpecifies an `$nin` query condition.\n\n```js\nmquery().where('author_id').nin([3, 48901, 761])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/nin/)\n\n### nor()\n\nSpecifies arguments for an `$nor` condition.\n\n```js\nmquery().nor([{ color: 'green' }, { status: 'ok' }])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/nor/)\n\n### near()\n\nSpecifies arguments for a `$near` or `$nearSphere` condition.\n\nThese operators return documents sorted by distance.\n\n#### Example\n\n```js\nquery.where('loc').near({ center: [10, 10] });\nquery.where('loc').near({ center: [10, 10], maxDistance: 5 });\nquery.near('loc', { center: [10, 10], maxDistance: 5 });\n\n// GeoJSON\nquery.where('loc').near({ center: { type: 'Point', coordinates: [10, 10] }});\nquery.where('loc').near({ center: { type: 'Point', coordinates: [10, 10] }, maxDistance: 5, spherical: true });\nquery.where('loc').near().geometry({ type: 'Point', coordinates: [10, 10] });\n\n// For a $nearSphere condition, pass the `spherical` option.\nquery.near({ center: [10, 10], maxDistance: 5, spherical: true });\n```\n\n[MongoDB Documentation](http://www.mongodb.org/display/DOCS/Geospatial+Indexing)\n\n### or()\n\nSpecifies arguments for an `$or` condition.\n\n```js\nmquery().or([{ color: 'red' }, { status: 'emergency' }])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/or/)\n\n### polygon()\n\nSpecifies a `$polygon` condition\n\n```js\nmquery().where('loc').within().polygon([10,20], [13, 25], [7,15])\nmquery().polygon('loc', [10,20], [13, 25], [7,15])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/polygon/)\n\n### regex()\n\nSpecifies a `$regex` query condition.\n\n```js\nmquery().where('name').regex(/^sixstepsrecords/)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/regex/)\n\n### select()\n\nSpecifies which document fields to include or exclude\n\n```js\n// 1 means include, 0 means exclude\nmquery().select({ name: 1, address: 1, _id: 0 })\n\n// or\n\nmquery().select('name address -_id')\n```\n\n#### String syntax\n\nWhen passing a string, prefixing a path with `-` will flag that path as excluded. When a path does not have the `-` prefix, it is included.\n\n```js\n// include a and b, exclude c\nquery.select('a b -c');\n\n// or you may use object notation, useful when\n// you have keys already prefixed with a \"-\"\nquery.select({a: 1, b: 1, c: 0});\n```\n\n_Cannot be used with `distinct()`._\n\n### selected()\n\nDetermines if the query has selected any fields.\n\n```js\nvar query = mquery();\nquery.selected() // false\nquery.select('-name');\nquery.selected() // true\n```\n\n### selectedInclusively()\n\nDetermines if the query has selected any fields inclusively.\n\n```js\nvar query = mquery().select('name');\nquery.selectedInclusively() // true\n\nvar query = mquery();\nquery.selected() // false\nquery.select('-name');\nquery.selectedInclusively() // false\nquery.selectedExclusively() // true\n```\n\n### selectedExclusively()\n\nDetermines if the query has selected any fields exclusively.\n\n```js\nvar query = mquery().select('-name');\nquery.selectedExclusively() // true\n\nvar query = mquery();\nquery.selected() // false\nquery.select('name');\nquery.selectedExclusively() // false\nquery.selectedInclusively() // true\n```\n\n### size()\n\nSpecifies a `$size` query condition.\n\n```js\nmquery().where('someArray').size(6)\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/size/)\n\n### slice()\n\nSpecifies a `$slice` projection for a `path`\n\n```js\nmquery().where('comments').slice(5)\nmquery().where('comments').slice(-5)\nmquery().where('comments').slice([-10, 5])\n```\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/projection/slice/)\n\n### within()\n\nSets a `$geoWithin` or `$within` argument for geo-spatial queries.\n\n```js\nmquery().within().box()\nmquery().within().circle()\nmquery().within().geometry()\n\nmquery().where('loc').within({ center: [50,50], radius: 10, unique: true, spherical: true });\nmquery().where('loc').within({ box: [[40.73, -73.9], [40.7, -73.988]] });\nmquery().where('loc').within({ polygon: [[],[],[],[]] });\n\nmquery().where('loc').within([], [], []) // polygon\nmquery().where('loc').within([], []) // box\nmquery().where('loc').within({ type: 'LineString', coordinates: [...] }); // geometry\n```\n\nAs of mquery 2.0, `$geoWithin` is used by default. This impacts you if running MongoDB < 2.4. To alter this behavior, see [mquery.use$geoWithin](#mqueryusegeowithin).\n\n**Must** be used after `where()`.\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/reference/operator/geoWithin/)\n\n### where()\n\nSpecifies a `path` for use with chaining\n\n```js\n// instead of writing:\nmquery().find({age: {$gte: 21, $lte: 65}});\n\n// we can instead write:\nmquery().where('age').gte(21).lte(65);\n\n// passing query conditions is permitted too\nmquery().find().where({ name: 'vonderful' })\n\n// chaining\nawait mquery()\n .where('age').gte(21).lte(65)\n .where({ 'name': /^vonderful/i })\n .where('friends').slice(10)\n .exec()\n```\n\n### $where()\n\nSpecifies a `$where` condition.\n\nUse `$where` when you need to select documents using a JavaScript expression.\n\n```js\nawait query.$where('this.comments.length > 10 || this.name.length > 5').exec()\n\nquery.$where(function () {\n return this.comments.length > 10 || this.name.length > 5;\n})\n```\n\nOnly use `$where` when you have a condition that cannot be met using other MongoDB operators like `$lt`. Be sure to read about all of [its caveats](http://docs.mongodb.org/manual/reference/operator/where/) before using.\n\n---\n\n### batchSize()\n\nSpecifies the batchSize option.\n\n```js\nquery.batchSize(100)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.batchSize/)\n\n### collation()\n\nSpecifies the collation option.\n\n```js\nquery.collation({ locale: \"en_US\", strength: 1 })\n```\n\n[MongoDB documentation](https://docs.mongodb.com/manual/reference/method/cursor.collation/#cursor.collation)\n\n### comment()\n\nSpecifies the comment option.\n\n```js\nquery.comment('login query');\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/)\n\n### hint()\n\nSets query hints.\n\n```js\nmquery().hint({ indexA: 1, indexB: -1 })\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/operator/hint/)\n\n### j()\n\nRequests acknowledgement that this operation has been persisted to MongoDB's on-disk journal.\n\nThis option is only valid for operations that write to the database:\n\n- `deleteOne()`\n- `deleteMany()`\n- `findOneAndDelete()`\n- `findOneAndUpdate()`\n- `updateOne()`\n- `updateMany()`\n\nDefaults to the `j` value if it is specified in [writeConcern](#writeconcern)\n\n```js\nmquery().j(true);\n```\n\n### limit()\n\nSpecifies the limit option.\n\n```js\nquery.limit(20)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.limit/)\n\n### maxTime()\n\nSpecifies the maxTimeMS option.\n\n```js\nquery.maxTime(100)\nquery.maxTimeMS(100)\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.maxTimeMS/)\n\n### skip()\n\nSpecifies the skip option.\n\n```js\nquery.skip(100).limit(20)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.skip/)\n\n### sort()\n\nSets the query sort order.\n\nIf an object is passed, key values allowed are `asc`, `desc`, `ascending`, `descending`, `1`, and `-1`.\n\nIf a string is passed, it must be a space delimited list of path names. The sort order of each path is ascending unless the path name is prefixed with `-` which will be treated as descending.\n\n```js\n// these are equivalent\nquery.sort({ field: 'asc', test: -1 });\nquery.sort('field -test');\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/cursor.sort/)\n\n### read()\n\nSets the readPreference option for the query.\n\n```js\nmquery().read('primary')\nmquery().read('p') // same as primary\n\nmquery().read('primaryPreferred')\nmquery().read('pp') // same as primaryPreferred\n\nmquery().read('secondary')\nmquery().read('s') // same as secondary\n\nmquery().read('secondaryPreferred')\nmquery().read('sp') // same as secondaryPreferred\n\nmquery().read('nearest')\nmquery().read('n') // same as nearest\n\nmquery().setReadPreference('primary') // alias of .read()\n```\n\n#### Preferences:\n\n- `primary` - (default) Read from primary only. Operations will produce an error if primary is unavailable. Cannot be combined with tags.\n- `secondary` - Read from secondary if available, otherwise error.\n- `primaryPreferred` - Read from primary if available, otherwise a secondary.\n- `secondaryPreferred` - Read from a secondary if available, otherwise read from the primary.\n- `nearest` - All operations read from among the nearest candidates, but unlike other modes, this option will include both the primary and all secondaries in the random selection.\n\nAliases\n\n- `p` primary\n- `pp` primaryPreferred\n- `s` secondary\n- `sp` secondaryPreferred\n- `n` nearest\n\n#### Preference Tags:\n\nTo keep the separation of concerns between `mquery` and your driver\nclean, `mquery#read()` no longer handles specifying a second `tags` argument as of version 0.5.\nIf you need to specify tags, pass any non-string argument as the first argument.\n`mquery` will pass this argument untouched to your collections methods later.\nFor example:\n\n```js\n// example of specifying tags using the Node.js driver\nvar ReadPref = require('mongodb').ReadPreference;\nvar preference = new ReadPref('secondary', [{ dc:'sf', s: 1 },{ dc:'ma', s: 2 }]);\nmquery(...).read(preference).exec();\n```\n\nRead more about how to use read preferences [here](http://docs.mongodb.org/manual/applications/replication/#read-preference) and [here](http://mongodb.github.com/node-mongodb-native/driver-articles/anintroductionto1_1and2_2.html#read-preferences).\n\n### readConcern()\n\nSets the readConcern option for the query.\n\n```js\n// local\nmquery().readConcern('local')\nmquery().readConcern('l')\nmquery().r('l')\n\n// available\nmquery().readConcern('available')\nmquery().readConcern('a')\nmquery().r('a')\n\n// majority\nmquery().readConcern('majority')\nmquery().readConcern('m')\nmquery().r('m')\n\n// linearizable\nmquery().readConcern('linearizable')\nmquery().readConcern('lz')\nmquery().r('lz')\n\n// snapshot\nmquery().readConcern('snapshot')\nmquery().readConcern('s')\nmquery().r('s')\n```\n\n#### Read Concern Level:\n\n- `local` - The query returns from the instance with no guarantee guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back). (MongoDB 3.2+)\n- `available` - The query returns from the instance with no guarantee guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back). (MongoDB 3.6+)\n- `majority` - The query returns the data that has been acknowledged by a majority of the replica set members. The documents returned by the read operation are durable, even in the event of failure. (MongoDB 3.2+)\n- `linearizable` - The query returns data that reflects all successful majority-acknowledged writes that completed prior to the start of the read operation. The query may wait for concurrently executing writes to propagate to a majority of replica set members before returning results. (MongoDB 3.4+)\n- `snapshot` - Only available for operations within multi-document transactions. Upon transaction commit with write concern \"majority\", the transaction operations are guaranteed to have read from a snapshot of majority-committed data. (MongoDB 4.0+)\n\nAliases\n\n- `l` local\n- `a` available\n- `m` majority\n- `lz` linearizable\n- `s` snapshot\n\nRead more about how to use read concern [here](https://docs.mongodb.com/manual/reference/read-concern/).\n\n### writeConcern()\n\nSets the writeConcern option for the query.\n\nThis option is only valid for operations that write to the database:\n\n- `deleteOne()`\n- `deleteMany()`\n- `findOneAndDelete()`\n- `findOneAndUpdate()`\n- `updateOne()`\n- `updateMany()`\n\n```js\nmquery().writeConcern(0)\nmquery().writeConcern(1)\nmquery().writeConcern({ w: 1, j: true, wtimeout: 2000 })\nmquery().writeConcern('majority')\nmquery().writeConcern('m') // same as majority\nmquery().writeConcern('tagSetName') // if the tag set is 'm', use .writeConcern({ w: 'm' }) instead\nmquery().w(1) // w is alias of writeConcern\n```\n\n#### Write Concern:\n\nwriteConcern({ w: ``, j: ``, wtimeout: `` }`)\n\n- the w option to request acknowledgement that the write operation has propagated to a specified number of mongod instances or to mongod instances with specified tags\n- the j option to request acknowledgement that the write operation has been written to the journal\n- the wtimeout option to specify a time limit to prevent write operations from blocking indefinitely\n\nCan be break down to use the following syntax:\n\nmquery().w(``).j(``).wtimeout(``)\n\nRead more about how to use write concern [here](https://docs.mongodb.com/manual/reference/write-concern/)\n\n### slaveOk()\n\nSets the slaveOk option. `true` allows reading from secondaries.\n\n**deprecated** use [read()](#read) preferences instead if on mongodb >= 2.2\n\n```js\nquery.slaveOk() // true\nquery.slaveOk(true)\nquery.slaveOk(false)\n```\n\n[MongoDB documentation](http://docs.mongodb.org/manual/reference/method/rs.slaveOk/)\n\n### tailable()\n\nSets tailable option.\n\n```js\nmquery().tailable() <== true\nmquery().tailable(true)\nmquery().tailable(false)\n```\n\n_Cannot be used with `distinct()`._\n\n[MongoDB Documentation](http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/)\n\n### wtimeout()\n\nSpecifies a time limit, in milliseconds, for the write concern. If `w > 1`, it is maximum amount of time to\nwait for this write to propagate through the replica set before this operation fails. The default is `0`, which means no timeout.\n\nThis option is only valid for operations that write to the database:\n\n- `deleteOne()`\n- `deleteMany()`\n- `findOneAndDelete()`\n- `findOneAndUpdate()`\n- `updateOne()`\n- `updateMany()`\n\nDefaults to `wtimeout` value if it is specified in [writeConcern](#writeconcern)\n\n```js\nmquery().wtimeout(2000)\nmquery().wTimeout(2000)\n```\n\n## Helpers\n\n### collection()\n\nSets the querys collection.\n\n```js\nmquery().collection(aCollection)\n```\n\n### then()\n\nExecutes the query and returns a promise which will be resolved with the query results or rejected if the query responds with an error.\n\n```js\nmquery().find(..).then(success, error);\n```\n\nThis is very useful when combined with [co](https://github.com/visionmedia/co) or [koa](https://github.com/koajs/koa), which automatically resolve promise-like objects for you.\n\n```js\nco(function*(){\n var doc = yield mquery().findOne({ _id: 499 });\n console.log(doc); // { _id: 499, name: 'amazing', .. }\n})();\n```\n\n_NOTE_:\nThe returned promise is a [bluebird](https://github.com/petkaantonov/bluebird/) promise but this is customizable. If you want to\nuse your favorite promise library, simply set `mquery.Promise = YourPromiseConstructor`.\nYour `Promise` must be [promises A+](http://promisesaplus.com/) compliant.\n\n### merge(object)\n\nMerges other mquery or match condition objects into this one. When an mquery instance is passed, its match conditions, field selection and options are merged.\n\n```js\nconst drum = mquery({ type: 'drum' }).collection(instruments);\nconst redDrum = mquery({ color: 'red' }).merge(drum);\nconst n = await redDrum.count();\nconsole.log('there are %d red drums', n);\n```\n\nInternally uses `mquery.canMerge` to determine validity.\n\n### setOptions(options)\n\nSets query options.\n\n```js\nmquery().setOptions({ collection: coll, limit: 20 })\n```\n\n#### setOptions() options\n\n- [tailable](#tailable) *\n- [sort](#sort) *\n- [limit](#limit) *\n- [skip](#skip) *\n- [maxTime](#maxtime) *\n- [batchSize](#batchsize) *\n- [comment](#comment) *\n- [hint](#hint) *\n- [collection](#collection): the collection to query against\n\n_* denotes a query helper method is also available_\n\n### setTraceFunction(func)\n\nSet a function to trace this query. Useful for profiling or logging.\n\n```js\nfunction traceFunction (method, queryInfo, query) {\n console.log('starting ' + method + ' query');\n\n return function (err, result, millis) {\n console.log('finished ' + method + ' query in ' + millis + 'ms');\n };\n}\n\nmquery().setTraceFunction(traceFunction).findOne({name: 'Joe'}, cb);\n```\n\nThe trace function is passed (method, queryInfo, query)\n\n- method is the name of the method being called (e.g. findOne)\n- queryInfo contains information about the query:\n - conditions: query conditions/criteria\n - options: options such as sort, fields, etc\n - doc: document being updated\n- query is the query object\n\nThe trace function should return a callback function which accepts:\n- err: error, if any\n- result: result, if any\n- millis: time spent waiting for query result\n\nNOTE: stream requests are not traced.\n\n### mquery.setGlobalTraceFunction(func)\n\nSimilar to `setTraceFunction()` but automatically applied to all queries.\n\n```js\nmquery.setTraceFunction(traceFunction);\n```\n\n### mquery.canMerge(conditions)\n\nDetermines if `conditions` can be merged using `mquery().merge()`.\n\n```js\nvar query = mquery({ type: 'drum' });\nvar okToMerge = mquery.canMerge(anObject)\nif (okToMerge) {\n query.merge(anObject);\n}\n```\n\n## mquery.use$geoWithin\n\nMongoDB 2.4 introduced the `$geoWithin` operator which replaces and is 100% backward compatible with `$within`. As of mquery 0.2, we default to using `$geoWithin` for all `within()` calls.\n\nIf you are running MongoDB < 2.4 this will be problematic. To force `mquery` to be backward compatible and always use `$within`, set the `mquery.use$geoWithin` flag to `false`.\n\n```js\nmquery.use$geoWithin = false;\n```\n\n## Custom Base Queries\n\nOften times we want custom base queries that encapsulate predefined criteria. With `mquery` this is easy. First create the query you want to reuse and call its `toConstructor()` method which returns a new subclass of `mquery` that retains all options and criteria of the original.\n\n```js\nvar greatMovies = mquery(movieCollection).where('rating').gte(4.5).toConstructor();\n\n// use it!\nconst n = await greatMovies().count();\nconsole.log('There are %d great movies', n);\n\nconst docs = await greatMovies().where({ name: /^Life/ }).select('name').find();\nconsole.log(docs);\n```\n\n## Validation\n\nMethod and options combinations are checked for validity at runtime to prevent creation of invalid query constructs. For example, a `distinct` query does not support specifying options like `hint` or field selection. In this case an error will be thrown so you can catch these mistakes in development.\n\n## Debug support\n\nDebug mode is provided through the use of the [debug](https://github.com/visionmedia/debug) module. To enable:\n\n```sh\nDEBUG=mquery node yourprogram.js\n```\n\nRead the debug module documentation for more details.\n\n## General compatibility\n\n### ObjectIds\n\n`mquery` clones query arguments before passing them to a `collection` method for execution.\nThis prevents accidental side-affects to the objects you pass.\nTo clone `ObjectIds` we need to make some assumptions.\n\nFirst, to check if an object is an `ObjectId`, we check its constructors name. If it matches either\n`ObjectId` or `ObjectID` we clone it.\n\nTo clone `ObjectIds`, we call its optional `clone` method. If a `clone` method does not exist, we fall\nback to calling `new obj.constructor(obj.id)`. We assume, for compatibility with the\nNode.js driver, that the `ObjectId` instance has a public `id` property and that\nwhen creating an `ObjectId` instance we can pass that `id` as an argument.\n\n#### Read Preferences\n\n`mquery` supports specifying [Read Preferences](https://www.mongodb.com/docs/manual/core/read-preference/) to control from which MongoDB node your query will read.\nThe Read Preferences spec also support specifying tags. To pass tags, some\ndrivers (Node.js driver) require passing a special constructor that handles both the read preference and its tags.\nIf you need to specify tags, pass an instance of your drivers ReadPreference constructor or roll your own. `mquery` will store whatever you provide and pass later to your collection during execution.\n\n## Future goals\n\n- mongo shell compatibility\n- browser compatibility\n\n## Installation\n\n```sh\nnpm install mquery\n```\n\n## License\n\n[MIT](https://github.com/aheckmann/mquery/blob/master/LICENSE)\n","maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"vkarpov15","email":"val@karpov.io"}],"time":{"modified":"2023-02-23T18:47:05.339Z","created":"2012-12-15T17:58:58.526Z","0.0.1":"2012-12-15T17:58:59.345Z","0.1.0":"2013-05-06T19:43:30.690Z","0.1.1":"2013-06-24T23:16:14.497Z","0.1.2":"2013-06-26T20:07:26.859Z","0.1.3":"2013-07-02T18:17:52.259Z","0.2.0":"2013-07-05T21:16:18.195Z","0.2.1":"2013-07-09T00:50:48.353Z","0.2.2":"2013-07-09T18:15:03.208Z","0.2.3":"2013-07-09T19:34:31.302Z","0.2.4":"2013-07-25T18:09:23.813Z","0.2.5":"2013-07-30T23:31:21.817Z","0.2.6":"2013-07-31T00:12:52.569Z","0.2.7":"2013-08-02T22:15:13.926Z","0.3.0":"2013-08-22T18:31:11.175Z","0.3.1":"2013-08-22T18:55:17.395Z","0.3.2":"2013-09-06T19:26:23.052Z","0.3.3":"2013-11-14T17:01:54.460Z","0.4.0":"2014-01-07T06:12:46.935Z","0.4.1":"2014-01-07T17:45:49.487Z","0.4.2":"2014-01-09T04:21:10.643Z","0.5.0":"2014-01-16T16:32:58.863Z","0.5.1":"2014-01-17T17:40:54.930Z","0.5.2":"2014-01-30T17:35:27.064Z","0.5.3":"2014-02-22T17:53:35.336Z","0.6.0":"2014-04-02T05:47:19.242Z","0.7.0":"2014-05-02T17:57:18.703Z","0.8.0":"2014-05-15T14:30:37.079Z","0.9.0":"2014-05-23T03:45:32.347Z","1.0.0":"2014-07-07T16:45:30.343Z","1.1.0":"2014-09-16T03:57:46.235Z","1.2.0":"2014-09-18T22:13:19.207Z","1.2.1":"2014-09-26T18:52:44.426Z","1.3.0":"2014-11-06T18:05:13.812Z","1.4.0":"2015-03-23T15:14:47.411Z","1.5.0":"2015-04-01T03:27:18.280Z","1.5.1":"2015-04-08T18:16:49.979Z","1.6.0":"2015-05-27T16:14:03.281Z","1.6.1":"2015-06-16T19:11:24.475Z","1.6.2":"2015-07-12T16:05:41.015Z","1.6.3":"2015-08-25T14:05:40.295Z","1.7.0":"2016-02-23T20:10:46.162Z","1.8.0":"2016-03-01T16:30:59.574Z","1.9.0":"2016-03-15T14:35:13.211Z","1.10.0":"2016-03-16T15:31:20.192Z","1.10.1":"2016-04-26T19:25:48.581Z","1.11.0":"2016-06-05T00:14:40.104Z","1.12.0":"2016-09-26T00:10:29.569Z","2.0.0":"2016-09-26T00:12:02.488Z","2.1.0":"2016-12-22T16:54:06.755Z","2.2.0":"2017-01-09T01:16:16.957Z","2.2.1":"2017-01-30T00:26:05.853Z","2.2.2":"2017-02-01T02:04:42.129Z","2.2.3":"2017-02-01T02:25:13.439Z","2.3.0":"2017-03-06T02:09:58.596Z","2.3.1":"2017-05-23T04:52:54.220Z","2.3.2":"2017-09-27T23:19:07.843Z","2.3.3":"2017-11-19T23:17:58.916Z","3.0.0-rc0":"2017-12-06T23:11:11.183Z","3.0.0":"2018-01-20T17:55:21.352Z","3.0.1":"2018-07-02T22:05:49.726Z","3.1.0":"2018-07-29T22:59:43.275Z","3.1.1":"2018-07-30T22:10:48.291Z","3.1.2":"2018-08-01T20:06:46.126Z","3.2.0":"2018-08-24T17:36:12.348Z","3.2.1":"2019-06-07T16:51:26.487Z","3.2.2":"2019-09-22T17:43:29.098Z","3.2.3":"2020-12-10T20:25:55.598Z","3.2.4":"2021-02-12T17:06:43.849Z","3.2.5":"2021-03-29T14:55:20.817Z","4.0.0-rc0":"2021-08-20T00:06:22.930Z","4.0.0":"2021-08-24T22:03:56.407Z","4.0.1":"2022-01-21T01:48:47.890Z","4.0.2":"2022-01-24T02:16:54.223Z","4.0.3":"2022-05-17T17:21:39.960Z","5.0.0":"2023-02-23T18:47:05.257Z"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"readmeFilename":"README.md","homepage":"https://github.com/aheckmann/mquery/","keywords":["mongodb","query","builder"],"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"license":"MIT","users":{"parkerproject":true,"calmwinds":true,"holly":true,"cr8tiv":true,"hayathuk":true,"pixelventures":true,"iobuhov":true}}