В дополнение к тому, что предложил @Chris, вы также можете использовать функцию includeTotalCount()
, а также take(0)
(если вы только заботитесь о количестве результатов, а не о результатах сами), чтобы считать только элементы, которые будут возвращены в запросе:
function read(query, user, request) {
query.includeTotalCount(); // tell me how many items there are
query.take(0); // but don't bother returning them
request.execute({
success: function(results) {
if (results.totalCount > 0) {
request.respond(200, { status: 'Item exists' });
} else {
request.respond(500, { status: 'ERROR' });
}
}
});
}
или, если на самом деле все, что вы хотите знать, есть ли какие-либо результаты или нет, вы можете даже пропустить includeTotalCount
вызов, и просто заставить ответ вернуться 1 результат с take(1)
телефон:
function read(query, user, request) {
query.take(1); // return at most one item
request.execute({
success: function(results) {
if (results.length > 0) {
request.respond(200, { status: 'Item exists' });
} else {
request.respond(500, { status: 'ERROR' });
}
}
});
}
, как проверить результат не пуст? – user3125146
Результаты! == null && results.length! = 0 – Chris
Если вызывается обработчик 'success', вы можете предположить, что результаты не равны нулю. – carlosfigueira