Node.js MongoDB-使用Mongoose模式-如何告诉Mongoose不要保存特定字段
假设我有一个猫鼬模式,如下所示:Node.js MongoDB-使用Mongoose模式-如何告诉Mongoose不要保存特定字段,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,假设我有一个猫鼬模式,如下所示: userSchema = mongoose.Schema({ username: { type: String, isUnique: true, required: true }, teamSnap: { username: String, password: String },
userSchema = mongoose.Schema({
username: {
type: String,
isUnique: true,
required: true
},
teamSnap: {
username: String,
password: String
},
password: {
type: String,
required: true
},
linkedin_id: Number,
email: {
type: String,
required: true
},
numberOfLineupsCreated: Number,
hasPaidAlready: Boolean,
longitude: Number,
registered_at: {
type: Date,
default: Date.now
},
created_at: {
type: Date,
default: Date.now
},
updated_at: {
type: Date,
default: Date.now
}
});
我如何告诉Mongoose不要在数据库中保存/存储teamSnap字段?如果不需要在数据库中保留字段,为什么需要在模型类中保存 您可以稍后将其添加到从MongoDB查询的对象中
db.users.findOne({id: id}, function(err, user) {
user.teamSnap = value
});
您可以重新定义
toJSON()
方法并删除其中的字段:
UserSchema.methods.toJSON = function() {
var obj = this.toObject()
delete obj.teamSnap
return obj
}
您最终要做的是,希望模式中有一个字段不会持久化到数据库中?您可能是对的,它可以放在会话/cookie数据中