Metadata-Version: 2.0
Name: python-mango
Version: 0.1.7
Summary: Mango: simple MongoDb wrapper
Home-page: https://laminko.github.io/mango/
Author: laminko
Author-email: lminko.lmk@gmail.com
License: MIT
Platform: Any
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries
Requires-Dist: pymongo

Mango
=====

A Simple wrapper module for Mongo sit on top of PyMongo.

Installation
------------

To install ``mango`` lib: ``pip install python-mango``.

Usage
-----

To import module: ``import mango``.

Sample:

.. code:: python

    import mango

    uri = "mongodb://user:pwd@localhost:port/database"
    mango.init_db(uri)

    # To get database object
    db = mango.mgdb

    # To get table object
    mytable = mango.get_table('mytable')

    # Select rows
    rows = mango.select('mytable')
    rows = mango.select('mytable', { "qty": { "$gt": 4 } })

    # Insert
    mango.insert('mytable', dict(name='Aung Aung'))

    # Update
    _filter = dict(id=1234)
    _value = dict(mark=80)
    mango.update('mytable', _filter, _value)

    _value = {
        "$set": {
            "name": "Tun Aung"
        },
        "$push": {
            "marks": {
                "english": 60
            }
        }
    }
    mango.update('mytable', _filter, _value)

    # Delete
    _filter = dict(id=456)
    mango.delete('mytable', _filter)

Availabe functions
------------------

-  `init_db`_
-  `get_table`_
-  `select`_
-  `insert`_
-  `update`_
-  `delete`_

init\_db
--------

To initialize MongoDb Connection.

Parameter:

``uri``: MongoDb URI

get\_table
----------

Get the MongoDb Table object.

Parameter:

-  ``table_name``: Table name

select
------

Query record(s) from table.

Parameters:

-  ``table_name``: Table name
-  ``_filter``: MongoDb filter object
-  ``is_many``: Use ``find`` or ``find_one``. Default is ``False`` which
   means ``find_one`` will be used.
-  ``**kwargs``: ``KwArgs`` which will be pass to pymongo function

insert
------

Insert record(s) to table.

Parameters:

- ``table_name``: Table name 
- ``_value``: Value that will be inserted
- ``is_many``: ``insert_one`` or ``insert_many``. Default is ``False`` (means ``insert_one``).
- ``**kwargs``: ``KwArgs`` will be pass to pymongo function

update
------

Update record(s) to table.

Parameters:

-  ``table_name``: Table name
-  ``_filter``: MongoDb filter object
-  ``_value``: Value that will be updated
-  ``is_many``: ``update_one`` or ``update_many``. Default is ``False``
   (means ``update_one``).
-  ``_operation``: MongoDb update operation. Default is ``$set``.
-  ``**kwargs``: ``KwArgs`` will be pass to pymongo function.

delete
------

Delete record(s) to table.

Parameters:

-  ``table_name``: Table name
-  ``_filter``: MongoDb filter object
-  ``is_many``: ``delete_one`` or ``delete_many``. Default is ``False``
   (means ``delete_one``).
-  ``**kwargs``: ``KwArgs`` will be pass to pymongo function.

.. _`init_db`: #init_db
.. _`get_table`: #get_table
.. _`select`: #select
.. _`insert`: #insert
.. _`update`: #update
.. _`delete`: #delete


