gpt4 book ai didi

Node.js:如何将 Mongoose 结果传递给我的 socket.emit

转载 作者:搜寻专家 更新时间:2023-10-31 23:38:51 25 4
gpt4 key购买 nike

我的目标是将 mongoose 结果(聊天记录)传递到我的 socket.emit。

使用下面的代码我得到了我想要的数据库结果。

// Find all chats.
var Chats = require('./models/chats');

Chats.find(function(err, chat_data) {
if (err) return console.error(err);
console.dir(chat_data);
});

在这段代码下面我有我的套接字连接,它是这样工作的

// set socket on chat
io.sockets.on('connection', function (socket) {

// emit existing chats from the db
socket.emit('chat_history', { chat_history: 'this arrives' });

现在的问题是:我不知道如何将 mongoose 结果传递给 socket.emit。无论我做什么,mongoose 都会在 socket.emit 之后执行,所以我在控制台中得到未定义。

我怎样才能以正确的方式做到这一点?

非常感谢您的建议。

最佳答案

当数据存在时调用emit:

Chats.find(function(err, chat_data) {
socket.emit('chat_history', { chat_history: chat_data });
});

关于Node.js:如何将 Mongoose 结果传递给我的 socket.emit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892324/

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