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数据中