gpt4 book ai didi

javascript - 将数据从 mongodb 传递到我的前端应用程序

转载 作者:行者123 更新时间:2023-12-01 03:26:52 26 4
gpt4 key购买 nike

我在 Web 服务器上有一个 MongoDB,并且有一个 Mean stack Web 应用程序。在 MongoDB 中,我有一堆数据想要传递到我的 Web 应用程序。我已经研究过各种选择,但我有点不确定要采取哪条路线来实现这一目标。我考虑过使用 socket.io 在我的 Web 服务器上设置一个监听器以打开与我的数据库的连接,然后进行 API 调用或直接数据库连接以返回我的数据。

我应该补充一点,我的应用程序基于mean.io 样板代码。

我的问题是我需要将 socket.io 代码放在堆栈中的哪个位置?

将 socket.io 代码包含在我的应用程序的根目录中或仅包含在需要将数据从我的 Web 服务器传递到我的应用程序的包/模块中是否明智?

最后,socket.io 是首选路线吗?是否有另一种更有意义的方法来实现此目的,例如express.js?

最佳答案

除非您想要从数据库到前端的实时、持续、持久的信息流,否则不需要使用 socket.io。

首先在您的 Express 应用中,使用 https://github.com/mongodb/node-mongodb-native 连接到数据库。然后,您只需设置一个 JSON 端点路由来发送数据。然后需要数据的客户端网页只需向 JSON 页面发送 XHR 请求即可。

编辑:OP确实想使用socket.io。

如果你想使用socket.io,你必须在服务器和客户端上都包含它。

服务器端:

const express = require('express');
const app = express();
const server = require('http').Server(app);
// socket.io
const io = require('socket.io').listen(server);
// handling socket.io requests
io.on('connection', (socket) => {
log.info('new connection.');
socket.emit('data', {/** whatever data you need to send **/});
socket.on('disconnect', (e) => {
log.info('user disconnected.');
});
});

客户端:

请确保在 html 文件中包含 socket.io(从网站获取)。然后,在您的客户端 js 中:

const socket = io();
socket.on('connect', () => {
console.log('connected to server.');
});
socket.on('disconnect', () => {
console.log('disconnected.');
});
socket.on('data', (data) => {
// this is where you receive the data
// do something with your data
});

关于javascript - 将数据从 mongodb 传递到我的前端应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com