javascript - 保护文档永远不会显示在查询结果中的方法
问题描述
我想要一个基于条件的中间件来保护或隐藏文档以防止任何类型的索引或查询。例如考虑这个伪代码:
Schema.pre('any query',function(next){
if(document.status !== 'published') document.allowQuering = false;
}
或者:
Schema.pre('save',function(next){
if(this.status !== 'published') this.allowQuering = false;
}
这应该确保那些没有已发布状态的文档不会显示在查询中或从其他文档等中填充。
解决方案
如果您使用 mongoose 使用 select 属性,但请注意它不适用于聚合聚合,您应该始终创建一个辅助方法
密码:{类型:字符串,选择:假}
推荐阅读
- c# - 如何在空的 C# 项目上添加/使用 KeyEventHandler
- java - Android Firestore 检查字段是否存在
- ssh - Ansible Playbook 仅在特定服务器上失败
- http - 如何使用 SIM800L (Firebase) 发送 PUT 请求
- python - 如何通过忽略库版本使用 pip 在 python 中安装大量库?
- swift - 有没有一种更清洁的方法来部分填充 tableView
- python - OpenCV 从不同的角度创建不失真的图像
- kubernetes - 用于 kubernetes 的 DaemonSet 在特权模式下工作正常,但即使添加了所有 linux 功能也会失败
- azure - 使用“msbot 克隆服务”bot-builder-tools 命令时,从 Azure 门户中删除的资源仍然可用
- javascript - 如何在道具和对象上使用方法,然后返回对象