Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A PHP MongoDB query builder library
PHP
tag: v1.2.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src/MongoQB
tests
.gitignore
.travis.yml
README.md
composer.json

README.md

A PHP MongoDB query builder library

Install via Packagist and Composer

Add the following into your composer.json file:

{
    "require": {
        "alexbilbie/mongoqb": "*"
    }
}

Then run

composer install

Install via Git

git clone git://git@github.com:alexbilbie/MongoQB

Download a zip/tarball

Download the latest version:

(Note the zip/tarball won't include any unit tests or composer files)

Unit tests

Master branch Build Status

Develop branch Build Status

The library currently has 100% unit test coverage. To run the unit test suite make sure you have MongoDB installed locally and running with no authentication and on the default port - 27017.

Then run:

composer update --dev
cd vendor/alexbilbie/mongoqb
phpunit -c tests/phpunit.xml

Example usage

Connect to the database

$qb = \MongoQB\Builder(array(
    'dsn'   =>  'mongodb://user:pass@localhost:27017/databaseName'
);

Insert a document

$qb->insert('collectionName', [
    'name'  =>  'Alex',
    'age'   =>  22,
    'likes' =>  ['whisky', 'gin']
]);

Update a single document

$qb
    ->where(['name' => 'Alex'])
    ->set([
        'country' => 'UK',
        'job' => 'Developer'
    ])
    ->push('likes', ['PHP', 'coffee'])
    ->update('collectionName');

Delete a single document

$qb
    ->where(['name' => 'Alex'])
    ->delete('collectionName');

Search for matching documents

$results = $qb
    ->whereGt('age', 21)
    ->whereIn('likes', ['whisky'])
    ->where('country', 'UK')
    ->get('collectionName');

If you find any bugs please file a report in the Issue tracker

Something went wrong with that request. Please try again.