【问题标题】:Async operations on redis messageredis消息上的异步操作
【发布时间】:2018-01-04 04:27:10
【问题描述】:

我正在尝试在 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) 正在显示传递的消息,但它没有执行任何猫鼬操作。模型没有更新。

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

【问题讨论】:

    标签: node.js mongodb asynchronous mongoose redis


    【解决方案1】:

    我有解决方案,我在另一个节点进程中做所有 redis 的东西,所以 Mongo 连接在 redis 进程中不可用。

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

    【讨论】:

      猜你喜欢
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      相关资源
      最近更新 更多