Реагируйте на родную игру, MongoDB или Firestore - PullRequest
0 голосов
/ 08 июля 2019

Я работаю над многопользовательской реакцией нативной игры для Android, это просто текстовая игра.На данный момент я работаю только на стороне клиента, но постепенно приближаюсь к тому моменту, когда мне нужно выбрать способ управления данными.Так как я всегда пытаюсь узнать что-то новое - впервые используя RN - я наткнулся на Firestore, и мне любопытно, является ли это жизнеспособным выбором из моего проекта.

Например, в этой игре вы можетекупить / открыть компании.Если бы я обрабатывал это действие в nodejs + MongoDB, я бы отправил токен JWT на server/api/newcompany.

. Предполагая, что у меня будет 2 модели MongoDB, Users со всей информацией пользователя и Companyсписок всех компаний в игре.Сначала я проверял, достаточно ли у Пользователя денег, чтобы открыть компанию, а затем возвращал какое-то сообщение, основанное на этом, мой код был бы примерно таким:

// routes.js
...
router.post('/api/newcompany',AuthCheck, Company.new)


// controllers/company.js
...
new: async function (req, res, next) {
    if (!req.body.companyType || !validCompanyType) {
        return res.status(200).send('invalid/missing message and other failed checks')
    }
    //assuming token data would be passed from auth middleware and would have company prices somewhere
    const user =  await Users.find({id:token.userId})
    if (user.money < companyPrice) {
        res.status(200).send('no money')
    } else {
        const newCompany = new Company()
        newCompany.name = req.body.name
        ...
        new.Companny.save(function(){
            res.status(200).send('all good')
        })

    }
}

Глядя на Firestore, у меня было бы то же самое2 документа, как указано выше.Users со списком поддокументов (пользователей), идентифицированных по их идентификаторам, и документом Companies.

Смогу ли я выполнить те же проверки пользователей, что и выше?Как бы я справился с этим?Буду ли я использовать правила Firestore для проверки того, что у пользователя достаточно денег, или я буду использовать свой сервер с SDK администратора в качестве посредника для обработки более сложных операций и использовать прямое соединение Firestore только для получения данных?

Спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...