It’s recommended that we should always query entities by searchCriteria because it will add additional data like extension attributes.
* If $condition integer or string - exact value will be filtered ('eq' condition)
*
* If $condition is array - one of the following structures is expected:
* - array("from" => $fromValue, "to" => $toValue)
* - array("eq" => $equalValue)
* - array("neq" => $notEqualValue)
* - array("like" => $likeValue)
* - array("in" => array($inValues))
* - array("nin" => array($notInValues))
* - array("notnull" => $valueIsNotNull)
* - array("null" => $valueIsNull)
* - array("moreq" => $moreOrEqualValue)
* - array("gt" => $greaterValue)
* - array("lt" => $lessValue)
* - array("gteq" => $greaterOrEqualValue)
* - array("lteq" => $lessOrEqualValue)
* - array("finset" => $valueInSet)
* - array("regexp" => $regularExpression)
* - array("seq" => $stringValue)
* - array("sneq" => $stringValue)
*
$searchBuilder = $this->objectManager->get(\Magento\Framework\Api\SearchCriteriaBuilder::class);
$searchBuilder->addFilter('status', ['collected', 'complete', 'processing'], 'in');
/** @var \Magento\Framework\Api\SortOrderBuilder $sortOrderBuilder */
$sortOrderBuilder = $this->objectManager->get(
\Magento\Framework\Api\SortOrderBuilder::class
);
$sortOrder = $sortOrderBuilder->setField('entity_id')
->setDirection('DESC')
->create();
$searchBuilder->addSortOrder($sortOrder);
$searchResult = $orderCollection->getList($searchBuilder->create());