Ви можете використовувати Selectпараметр і використовуватиCOUNT в запиті. Він "повертає кількість відповідних елементів, а не самих відповідних елементів". Важливо , як зазначив Саумітра Р. Бхаве в коментарі : "Якщо розмір набору результатів запиту перевищує 1 МБ, тоді ScannedCount і Count представлятимуть лише частковий підрахунок загальної кількості елементів. Вам потрібно буде виконати кілька Операції запиту для отримання всіх результатів " .
Я не знайомий з PHP, але ось як ви можете використовувати його з Java. І тоді замість використання Count(що, на мою думку, є функцією в PHP) на, 'Items'ви можете використовувати Countзначення з відповіді - $result['Count']:
final String week = "whatever";
final Integer myPoint = 1337;
Condition weekCondition = new Condition()
.withComparisonOperator(ComparisonOperator.EQ)
.withAttributeValueList(new AttributeValue().withS(week));
Condition myPointCondition = new Condition()
.withComparisonOperator(ComparisonOperator.GE)
.withAttributeValueList(new AttributeValue().withN(myPoint.toString()))
Map<String, Condition> keyConditions = new HashMap<>();
keyConditions.put("week", weekCondition);
keyConditions.put("point", myPointCondition);
QueryRequest request = new QueryRequest("game_table");
request.setIndexName("week-point-index");
request.setSelect(Select.COUNT);
request.setKeyConditions(keyConditions);
QueryResult result = dynamoDBClient.query(request);
Integer count = result.getCount();
Якщо вам не потрібно емулювати WHEREпункт, ви можете використовувати DescribeTableзапит і використовувати отриманий підрахунок елементів, щоб отримати оцінку.
Кількість елементів у зазначеній таблиці. DynamoDB оновлює це значення приблизно кожні шість годин. Останні зміни можуть не відображатись у цьому значенні.
Крім того, важлива примітка з документації , зазначена Саумітрою Р. Бхаве в коментарях до цієї відповіді:
Якщо розмір Queryнабору результатів перевищує 1 МБ, ScannedCountі Countпредставляє лише частковий підрахунок загальної кількості елементів. Вам потрібно виконати кілька Queryоперацій, щоб отримати всі результати (див. Результати запитів таблиць з розподілом сторінок ).