def filter(self, cls_or_collection, query, raw=False, only=None): """ Filter objects from the database that correspond to a given set of properties. See :py:meth:`blitzdb.backends.base.Backend.filter` for documentation of individual parameters .. note:: This function supports all query operators that are available in MongoDB and returns a query set that is based on a MongoDB cursor. """ if not isinstance(cls_or_collection, six.string_types): collection = self.get_collection_for_cls(cls_or_collection) cls = cls_or_collection else: collection = cls_or_collection cls = self.get_cls_for_collection(collection) compiled_query = self.compile_query(query) args = {} if only != None: args['fields'] = only return QuerySet(self, cls, self.db[collection].find(compiled_query, **args), raw=raw, only=only)
def filter(self, cls_or_collection, query, sort_by=None, limit=None, offset=None): if not isinstance(cls_or_collection, str) and not isinstance( cls_or_collection, unicode): collection = self.get_collection_for_cls(cls_or_collection) cls = cls_or_collection else: collection = cls_or_collection cls = self.get_cls_for_collection(collection) compiled_query = self.serialize(query, convert_keys_to_str=True) return QuerySet(self, cls, self.db[collection].find(compiled_query))
def filter(self, cls_or_collection, query, sort_by=None, limit=None, offset=None): """ Filter objects from the database that correspond to a given set of properties. See :py:meth:`blitzdb.backends.base.Backend.filter` for documentation of individual parameters .. note:: This function supports all query operators that are available in SQLAlchemy and returns a query set that is based on a SQLAlchemy cursor. """ if not isinstance(cls_or_collection, six.string_types): collection = self.get_collection_for_cls(cls_or_collection) cls = cls_or_collection else: collection = cls_or_collection cls = self.get_cls_for_collection(collection) compiled_query = self.compile_query(query) return QuerySet(self, cls, self.db[collection].find(compiled_query))