gpt4 book ai didi

node.js - 在发送之前过滤响应

转载 作者:可可西里 更新时间:2023-11-01 10:44:37 28 4
gpt4 key购买 nike

我正在使用 Mongoose 在 Node.js 和 MongoDB 中编写服务器。

我有一个如下所示的用户模型:

var User = new Schema({
username : {
'type' : String,
'trim' : true,
'required' : true,
'validate': [usernameValidator, 'whitespace_not_allowed']
},
avatar : {
'type' : String,
'lowercase' : true,
'required' : true
},
facebook_id : {
'type' : Number,
'required' : true,
'index' : { unique: true }
},
email : {
'type' : String,
'lowercase' : true,
'required' : true
},
token : {
'type' : String,
'index' : { unique: true },
'required' : true
}
});

当客户请求他所有的 facebook 好友时,我不想向他发送用户 token ,几乎每个请求都是如此。但是对于一些请求,比如登录,我想发送 token 。

问题是在查询数据库和发送 token 时忘记过滤结果,其他信息可能是非常致命的。

我现在正在考虑的解决方案是覆盖一个方法(还不知道是哪个),我在其中指定默认情况下应选择哪些字段。然后在我需要更多的少数情况下,我必须在查询中指定它。这样可以保证不会因为内存条错误而导致数据发送错误。

你是如何解决这个问题的?

最佳答案

默认情况下,您可以通过 select 在结果中排​​除 token 字段架构中字段定义的属性:

token : {
'type' : String,
'index' : { unique: true },
'required' : true,
'select' : false
}

关于node.js - 在发送之前过滤响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11924340/

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