У меня есть сервер nodejs, который получает список коллекций от mongodb.Вот его код.так как я новичок в сокетах, так что ...
const express = require("express");
const app = express();
const http = require("http").Server(app);
const socketio = require('socket.io');
после этого я просто получаю данные в маршруте.и еще одна вещь - весь код находится в одном файле, и мне нужен экспресс-маршрут, поскольку в приложении есть другие маршруты.вот код mongodb для получения списка
app.post("/getAllOfferManagement",
async (req, res) => {
try {
MongoClient.connect(url,
function(err, db) {
if (err) throw err;
var dbo = db.db("realtime");
dbo
.collection("offer")
.find({})
.toArray(function(err,
result) {
if (err) throw err;
// console.log('getting it ');
res.send(result);
db.close();
});
});
} catch (err) {
res.send("error");
}
}); // its all working fine when i hit the route
http.listen(5000, function() {
console.log("Server Started!");
});
//serversidecode ends here
Теперь я получаю данные с помощью угловых данных, и вот код для этого
$scope.getAllOffer = function() {
$scope.mongoloader = true;
//nodejs api endpoint
$http.post("http://localhost:5000/getAllOffer").then(function(res) {
$scope.offersArray = res.data;
console.log('data here', res.data);
});
};
вышеописанное работает отлично.но мне нужно получать данные в режиме реального времени, например, когда кто-то вставляет новый документ в mongodb, вид обновляется.Я новичок в сокеты, поэтому любая помощь приветствуется.Спасибо