gpt4 book ai didi

node.js - Redis 消息的异步操作

转载 作者:可可西里 更新时间:2023-11-01 11:25:54 25 4
gpt4 key购买 nike

我正在尝试在 Redis 客户端发布消息时更新 Mongoose 模型。

这就是我正在做的让它工作

redisClient.on('message', (channel, message) => {
let data= JSON.parse(message);

console.log(message);

let user_id = data.user_id;
let story_id = data.story_id;

let ratingDetails = data.ratingDetails;

User.findById(user_id, (err, user) => {
if(err) return console.error(err);

user.rating += (ratingDetails.polarity * ratingDetails.rating);

console.log(ratingDetails);

console.log(user.rating);

user.save((err) => {
if(err) return console.error(err);
});
});

Story.findById(story_id, (err, story) => {
if(err) return console.error(err);

story.totalRating += (ratingDetails.polarity * ratingDetails.rating);

story.save((err) => {
if(err) return console.error(err);
});
});

});

console.log(message) 显示传递的消息,但它不执行任何 Mongoose 操作。模型没有更新。

我是第一次使用redis。这是一个好的方法还是有其他替代方法?

最佳答案

我找到了解决方案,我在另一个 Node 进程中执行所有 redis 操作,因此 Mongo 连接在 redis 进程中不可用。

我刚刚在redis进程中创建了另一个连接并解决了问题。

关于node.js - Redis 消息的异步操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45367769/

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