Returns a :class:`MongoResultSet` object.

        Example::

            items = Item.find(db, {'title': u'Hello'})

        .. note::

           The arguments are those of pymongo collection's `find` method.
           A frequent error is to pass query key/value pairs as keyword
           arguments. This is **wrong**. In most cases you will want to pass
           a dictionary ("query spec") as the first positional argument.

def find(cls, db, *args, **kwargs):
        """
        Returns a :class:`MongoResultSet` object.

        Example::

            items = Item.find(db, {'title': u'Hello'})

        .. note::

           The arguments are those of pymongo collection's `find` method.
           A frequent error is to pass query key/value pairs as keyword
           arguments. This is **wrong**. In most cases you will want to pass
           a dictionary ("query spec") as the first positional argument.

        """
        cls._ensure_indexes(db)
        docs = db[cls.collection].find(*args, **kwargs)
        return MongoResultSet(docs, partial(cls.wrap_incoming, db=db))