小编Lui*_*ndo的帖子

如何保护Mongoose/MongoDB中的密码字段,以便在填充集合时不会在查询中返回?

假设我有两个集合/模式.一个是带有用户名和密码字段的用户架构,然后,我有一个Blogs架构,它在作者字段中引用了用户架构.如果我使用Mongoose做类似的事情

Blogs.findOne({...}).populate("user").exec()
Run Code Online (Sandbox Code Playgroud)

我也会有Blog文档和用户填充,但是如何阻止Mongoose/MongoDB返回密码字段?密码字段经过哈希处理,但不应返回.

我知道我可以省略密码字段并在简单查询中返回其余字段,但是如何使用populate来执行此操作.另外,有没有优雅的方法来做到这一点?

此外,在某些情况下,我需要获取密码字段,例如当用户想要登录或更改密码时.

mongoose mongodb node.js express

74
推荐指数
8
解决办法
4万
查看次数

在PHP中声明一个不必要的变量会消耗内存吗?

我通常在PHP中执行此操作以获得更好的可读性,但我不知道它是否消耗内存或有任何其他问题?假设我有这段代码:

$user = getUser(); // getUser() will return an array
Run Code Online (Sandbox Code Playgroud)

我可以:

$email = $user["email"];
sendEmail($email);
Run Code Online (Sandbox Code Playgroud)

没有声明变量$ email我可以做:

sendEmail($user["email"]);
Run Code Online (Sandbox Code Playgroud)

哪一个更好?考虑一下这只是一个非常简单的例子.

php variables performance

7
推荐指数
1
解决办法
639
查看次数

Travis 给我 Redis 连接到 localhost:6379 失败 - 连接 ECONNREFUSED

我正在尝试使用 Travis测试 node.js模块,但我得到的只是“Redis 连接到 localhost:6379 失败 - 连接 ECONNREFUSED”。

有人可以告诉我我做错了什么吗?最新版本位于:https : //travis-ci.org/luiselizondo/config-persistence/builds/65187913

谢谢

redis node.js travis-ci

1
推荐指数
1
解决办法
1033
查看次数

标签 统计

node.js ×2

express ×1

mongodb ×1

mongoose ×1

performance ×1

php ×1

redis ×1

travis-ci ×1

variables ×1