Не удается получить более 50 записей из Azure MobileServiceClient (Node.js)

0

Поэтому я создаю приложение Apache Cordova (Android), основанное на angularjs, и используя библиотеку WindowsAzure MobileServiceClient для извлечения данных из моей таблицы Easy Table, созданной в базе данных SQL.

Это работает! Пока я не захочу получить более 50 записей. Таким образом, я добавил.take(100) в мое чтение таблицы. Еще 50 записей.. Тогда я подумал, может быть, функция принятия не работает вообще, поэтому я изменил ее до 5, и у меня только 5 записей. Таким образом, функция приема работает несколько, но не более 50 записей.

Так как это node.js backend, как увеличить размер страницы?

Вот мой текущий код:

msc.tables.pokemonType = null;
msc.tables.pokemon = null;

msc.init = function () {
    console.log('MobileServiceClient initializing...');

    var mobileServiceClient = new WindowsAzure.MobileServiceClient("https://blablablabla");

    msc.tables.pokemonType = mobileServiceClient.getTable('PokemonType');
    msc.tables.pokemon = mobileServiceClient.getTable('Pokemon');

    console.log('MobileServiceClient initialized!');
}


msc.getAllPokemonTypes = function() {
    console.log('getAllPokemonTypes - called');
    return msc.tables.pokemonType.read().then(function (pokemonTypes) {
        console.log('getAllPokemonTypes - done');
        return pokemonTypes;
    }, msc.handleError);
}

msc.getAllPokemons = function () {
    console.log('getAllPokemons - called');
    return msc.tables.pokemon.take(100).read().then(function (pokemons) {
        console.log('getAllPokemons - done');
        return pokemons;
    }, msc.handleError);
}
Теги:
azure
cordova

1 ответ

1
Лучший ответ

Согласно исходному коду операций таблицы Mobile Apps в node.js, операция чтения в конечном итоге принимает context.query который является объектом queryjs, который содержит функцию take() которая может ограничить количество элементов, возвращаемых указанному числу.

Кроме того, функция take() содержится в sdk сервера мобильных приложений, поэтому она не работает с вашим конечным кодом клиента.

Вы можете внести некоторые изменения в свои сценарии Easy Tables, EG

table.read(function (context) {
    context.query.take(100);
    return context.execute();
});
  • 0
    @ gary-liu-msft спасибо! Это сделало трюк! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню