1
我想要防止每次用戶請求其信息時通過線路發送用戶的加密密碼。我知道,在我蒙哥可以應用的投影來實現這一是否可以創建一個Mongoose鉤子來將投影應用於所有查詢
db.users.findByID(_id, { password: 0 })
但我寧願有某種.pre()
鉤到的將其應用到每個查詢。這是可能的功能嗎?
我想要防止每次用戶請求其信息時通過線路發送用戶的加密密碼。我知道,在我蒙哥可以應用的投影來實現這一是否可以創建一個Mongoose鉤子來將投影應用於所有查詢
db.users.findByID(_id, { password: 0 })
但我寧願有某種.pre()
鉤到的將其應用到每個查詢。這是可能的功能嗎?
可以使用select
配置一個字段,以便它會從默認查詢被排除:
let UserSchema = new Schema({
...
password : { type : String, select : false },
...
});
可以覆蓋在每次查詢的基礎上,如果你確實需要現場退貨:
db.users.findByID(_id, { password: 1 })
記錄在案的位置:http://mongoosejs.com/docs/api.html#schematype_SchemaType-select