PHPackages                             akalod/mongoq - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. akalod/mongoq

ActiveLibrary[Database &amp; ORM](/categories/database)

akalod/mongoq
=============

MongoDB PHP Query Builder

v0.2.1(7y ago)415PHPPHP &gt;=5.5.9

Since Nov 14Pushed 7y ago2 watchersCompare

[ Source](https://github.com/akalod/mongoq)[ Packagist](https://packagist.org/packages/akalod/mongoq)[ RSS](/packages/akalod-mongoq/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

mongoq
======

[](#mongoq)

MongoDB Query Builder (PHP)

install
=======

[](#install)

```
composer require akalod/mongoq
```

notices
=======

[](#notices)

- Case Insensetive "All where condition" (exist ObjectId)
- Auto Integer implement
- Auto match DocumentId for update method
- Values of unsent keys can be kept for update methods

using examples with alias
=========================

[](#using-examples-with-alias)

```
Use akalod/mongoq as DB;

// static using example
DB::init("mongodb://localhost","db_name");
DB::$Q->collection('tasks')->get();

// construct example of multi line connections
$x = DB::init("mongodb://localhost","a_db");
$r = DB::init("mongodb://username:password@remote.server.com","b_db");

$r->collection('tasks')->get();
// or
$x->collection('a_table')
  ->leftJoin('b_table','user_id',$r::ObjectID('_id'))
  ->where('user_id',1)
  ->get();

// you can use multiple where condition
... ->where('status',1)->where('owner_id',2)
//or
.. ->where(['status'=>1,'owner_id'=>2])

// deleting examples
$r->collection('tasks')
  ->whereIsNull('owner_id')
  ->deleteAll(); // or delete() for removing one result.

// getting first data
.. ->first();
// or you can use limit
.. ->limit(1)->get();

// inserting Data
$r->collection('tasks')->insert(Array());

// if update else create (:
$r->collection('tasks')->updateOrCreate(Array()) // you can use this method with where condition

// data updating...
$r->collection('task')->whereIsNull('owner_id')->update(['owner_id'=>1,'email'=>'seyhan@d*.com'])
/*
--result like this before using
{
    "_id" : ObjectId("5bea74ccdfce107bd4d781fb"),
    "address" : "blaaa blaaaaa",
    "email" : "syhnyldz@*.com"
}
-- after using.
{
    "_id" : ObjectId("5bea74ccdfce107bd4d781fb"),
    "address" : "blaaa blaaaaa",
    "email" : "seyhan@d*.com",
    "owner_id":1
}
-- if you use the force your result shoud like this
{
    "_id" : ObjectId("5bea74ccdfce107bd4d781fb"),
    "email" : "seyhan@d*.com",
    "owner_id":1
}
*/

// you can list null and non exist keys
.. ->whereIsNull('name')->get(); //or whatever you want (delete/update)
// or you can list non Null and exist keys
.. ->whereNotNull('name')->get(); //whatever
// whereLike method is similar that  "where like '%key%'" on SQL
.. ->whereLike('key','val')->get(); //bla bla

//create collection (table)
$r->create('tableName');

//drop collection
$r->collection('tableName')->drop();
//or
$r->drop('tableName');

//distinct
$r->collection('collecionName')->distinct('keyName');

//order by ..
$r->collection('tasks')
    ->orderBy('name') //default DESC
    ->get()
// or
$r->collection('tasks')
    ->orderBy('name',DB::ASC)
    ->get()
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2733d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f52f41fae30e90118d16e94b6bd6a00337b83a57a005df086c347cc2df4c3af6?d=identicon)[akalod](/maintainers/akalod)

---

Top Contributors

[![akalod](https://avatars.githubusercontent.com/u/6347677?v=4)](https://github.com/akalod "akalod (2 commits)")

### Embed Badge

![Health badge](/badges/akalod-mongoq/health.svg)

```
[![Health](https://phpackages.com/badges/akalod-mongoq/health.svg)](https://phpackages.com/packages/akalod-mongoq)
```

###  Alternatives

[mongodb/laravel-mongodb

A MongoDB based Eloquent model and Query builder for Laravel

7.1k7.2M71](/packages/mongodb-laravel-mongodb)[doctrine/mongodb-odm

PHP Doctrine MongoDB Object Document Mapper (ODM) provides transparent persistence for PHP objects to MongoDB.

1.1k23.3M299](/packages/doctrine-mongodb-odm)[alcaeus/mongo-php-adapter

Adapter to provide ext-mongo interface on top of mongo-php-library

46412.3M73](/packages/alcaeus-mongo-php-adapter)[moloquent/moloquent

A MongoDB based Eloquent model and Query builder for Laravel (Moloquent)

120114.6k7](/packages/moloquent-moloquent)[doesntmattr/mongodb-migrations

Managed Database Migrations for MongoDB

23598.7k1](/packages/doesntmattr-mongodb-migrations)[facile-it/mongodb-bundle

Bundle service integration of official \[mongodb/mongo-php-library\](https://github.com/mongodb/mongo-php-library) driver library

38212.1k1](/packages/facile-it-mongodb-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
