MongoDB – 使用Mongoose模式 – 如何告诉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 }
如果你不需要在数据库中保存一个字段,为什么你需要在你的模型类?
您可以稍后将其添加到您从MongoDB查询的对象。
db.users.findOne({id: id}, function(err, user) { user.teamSnap = value });