MongoDB как база данных в реальном времени - PullRequest
0 голосов
/ 11 июня 2018

У меня есть опыт работы с базой данных в режиме реального времени.В настоящее время я работаю над приложением Ionic 3 с MongoDB.В этом приложении мы должны использовать функцию «Обновить, чтобы обновить».Но если у нас есть БД в реальном времени, нам не нужна такая возможность.Из-за вышеупомянутой проблемы мой клиент теперь хочет использовать Firestore.Но ключевая проблема, с которой мы сталкиваемся, - это миграция данных.Это MongoDB для пожарной.В настоящее время это приложение работает (т.е. в магазинах приложений) и имеет более 500 пользователей.Из-за этого преобразование приложения в FireStore будет очень сложной задачей.Итак, мой вопрос здесь, не можем ли мы использовать функции БД в реальном времени с MongoDB?

Примечание: Я использую Nodejs/Express в качестве API Restfull.

1 Ответ

0 голосов
/ 11 июня 2018

Какой у тебя бэкэнд?Как насчет использования socket.io ?

Поскольку вы уже используете MongoDB и Express, вот пример:

Файл сервера:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/api/add', function(req, res){
    db.collection('quotes').save(req.body, (err, result) => {
        if (err) return console.log(err)

        // send everyone the added data
        io.emit('ADDED_DATA', req.body);
    });
});

http.listen(3000, function(){
    console.log('listening on *:3000');
});

в вашем клиенте:

<script src="/socket.io/socket.io.js"></script>

const socket = io('http://localhost:3030'); //ip and port of server

socket.on('ADDED_DATA', (data) => {
    // manipulate data
    // push to current list
    // or whatever you want
});
...