node.js - 为什么 client.smembers 不返回任何成员?

标签 node.js express redis

我目前正在为后端开发一个聊天应用程序。在这里,一旦我们执行 /chat,我们就会看到我们的 friend 列表,我们可以从中开始与任何人对话。为了显示列表对于 friend ,我使用了 smembers,但即使我的帐户中添加了 friend ,它也不会返回任何成员。

app.get('/chat', utils.restrict, function(req,res){

  client.smembers('appname:users' + req.user.id + ':friends', function(err, members) {

        if (members && members.length > 0) {

          res.render('chat', {user: req.user, users : members});
      }
      else{
        res.send("No Friends Found!");
      }

    });
});

当我调试它时,我看到 client.smembers 代码行被命中,但在那之后 members 的值被赋予 0。我需要所有的还有这些:

var app = module.parent.exports.app
, ACS = module.parent.exports.acs
, client = module.parent.exports.client
, passport = require('passport')
, config = require('../config')
, utils = module.parent.exports.utils;

我做错了什么?

最佳答案

最后,在花了很多时间之后,我发现问题出在我正在查询的数据库实例上。我创建了一个新的 redis 实例,它没有我想要的数据。我使用了 redis-cli,它是与 Redis 对话的命令行界面实用程序。

关于node.js - 为什么 client.smembers 不返回任何成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19240424/

相关文章:

javascript - 存储用户敏感 API 详细信息的安全方式(本地存储还是数据库?)

javascript - 在 POSTMAN 上使用 PUT/POST 方法上传文件

node.js - Mongoose 排序并每个字段只获取一个

node.js - 更新mongodb中的大量文档

javascript - 为什么我需要在每次请求时使用 PassportJS 反序列化用户?

redis - 使用 AWS Elasticache Redis 管理 Sails.js 中的 session

javascript - Mongoose 的继承

node.js - express 服务器在 5 个 POST 后没有响应

ruby-on-rails - Rails 应用程序的 Redis 图表

redis - 将可变数量的参数传递给 Redis Lua 脚本