Как я могу посчитать количество подписчиков, используя проанализированные сохраненные данные, как показано:

Я сохранил свой список подписчиков, как показано на картинке таблицы введите описание изображения здесь

в столбце "пользователь" я сохранил objectId пользователя, за которым следуют, а в столбце "подписчик" я сохранил currentUser (подписчик), теперь я хочу получить количество подписчиков каждого пользователя. Как я могу сделай это?

1 ответ

Решение

Parse Query для подсчета объектов https://parse.com/docs/ios/guide Где вы можете выполнить 1 запрос, чтобы получить количество подписчиков 1 пользователя. Который может легко максимизировать предел синтаксического анализа api, т. Е. (Подсчет запросов объекта 160 запросов в минуту) Для этого Parse и Me оба не рекомендуют использовать подсчет объектов, особенно если вы ожидаете значительное количество пользователей.

Разбор Рекомендации, чтобы избежать подсчета операций https://parse.com/docs/ios/guide

Вы должны использовать код разбора облака ( https://parse.com/docs/ios/guide) и иметь в своей таблице пользователей ключ, который может вести учет текущих подписчиков для этого пользователя.

Облачный код в вашем случае.

Parse.Cloud.afterSave("Followers", function(request) {
    if(request.object.existed() == true)
        // No need to increment count for update due to some reason
        return;
    });
    // Get the user id for User
    var userID = request.object.get("user");// Or request.object.get("user").id;
    // Query the user in actual User Table
    var UserQuery = Parse.Object.extend("User");
    var query = new Parse.Query(UserQuery);
    query.get(userID).then(function(user) {
    // Increment the followersCount field on the User object
        user.increment("followersCount");
        user.save();
    }, function(error) {
        throw "Got an error " + error.code + " : " + error.message;
    });
});

Отмена подписки также может произойти, оставив после практики практику для вас https://parse.com/docs/ios/guide

Вы можете использовать сервер синтаксического анализа countObjectsInBackground()функция для достижения вашей задачи. У меня это сработало. Я использовал версию iOS SDK1.17.3.

Вот пример кода Swift 4:

    let query = PFQuery(className: "yourTableName")
    query.whereKey("user", equalTo: "yourUserId")
    query.countObjectsInBackground { (count: Int32, error: Error?) in
    if error == nil {
        print("My followers number: \(count)")
    }

Для получения дополнительной информации: https://docs.parseplatform.org/ios/guide/.

Надеюсь, что это работает.

Другие вопросы по тегам