node.js - MongoDB - 使用 Mongoose 模式 - 如何告诉 Mongoose 不要保存特定字段

标签 node.js mongodb mongoose

假设我有一个如下所示的 Mongoose 架构:

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 字段?

最佳答案

您可以重新定义 toJSON() 方法并删除其中的字段:

UserSchema.methods.toJSON = function() {
    var obj = this.toObject()
    delete obj.teamSnap

    return obj
}

关于node.js - MongoDB - 使用 Mongoose 模式 - 如何告诉 Mongoose 不要保存特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27751242/

相关文章:

javascript - 无法获取/test.html - node.js - javascript

javascript - String 类型的 $lastName 用于需要 String 类型的位置

mysql - Node.js "cannot set property firstName of undefined"

mongodb - 如何使用 C# 驱动程序中的 BsonSerializer 为 MongoDB 克隆/复制 POCO 实体

node.js - Mongoose 如何填充非 id 字段或如何手动实现并行 promise 填充

node.js - Mongoose findOneAndUpdate 嵌套文档

node.js - 捕获引号中的字符串作为单个命令参数

mongodb - 在 MongoDb 中使用副本集的三个节点和 2 个已关闭

javascript - 使用 Mongoose 的 .populate() 返回某些字段

node.js - 是否可以在 Mongoose 中定义 default_scope ?