def scan()

in modular_sdk/models/pynamodb_extension/pynamodb_to_pymongo_adapter.py [0:0]


    def scan(self, model_class, filter_condition=None, limit=None,
             last_evaluated_key=None, attributes_to_get=None):
        collection = self._collection_from_model(model_class)
        _query = {}

        if filter_condition is not None:
            _query.update(ConditionConverter.convert(filter_condition))

        limit = limit or 0  # ZERO means no limit
        last_evaluated_key = last_evaluated_key or 0

        cursor = collection.find(_query).limit(limit).skip(last_evaluated_key)
        return Result(
            result=(model_class.from_json(self.mongodb.decode_keys(i),
                                          attributes_to_get) for i in cursor),
            _evaluated_key=last_evaluated_key,
            page_size=collection.count_documents(_query)
        )