如何使用mongoose和node js在mongodb中不插入不需要的字段数据的情况下创建文档?
我已经为用户数据创建了一个集合。我有一个可选字段“ emailid”。如果用户提供了电子邮件,我已经编写了存储电子邮件的代码。否则,它应该使用空字符串,例如“”。一段时间以来,它在不插入电子邮件ID的情况下运作良好。但是在将数据保存到集合中时,它给了我类似“ 无法读取未定义的属性'保存'的属性>>”的错误。谁能帮我解决这个问题。下面是模型架构代码。
var usersSchema = new mongoose.Schema({ username : {type: String, required: true}, password : {type: String, required: true}, user_phone_number: {type: String, required: true, unique: true}, emailid : {type: String, required: false, unique: true}, status : {type: Boolean, required: false, default: 1} }, { timestamps: {createdAt: 'created_at', updatedAt: 'updated_at'}, versionKey:0 });
服务代码为,
createUser: async (payload) => {
let err, err1, newUser, userData;
[err,newUser] = await to(app.models.Users.create({
username: payload.username,
user_phone_number: payload.phone_number,
emailid: payload.email?payload.email:"",
password:payload.password
}));
[err1,userData]=await to(newUser.save());
if(err || err1) TE("Error in creating a user");
return userData;
},
我已经为用户数据创建了一个集合。我有一个可选字段“ emailid”。如果用户提供了电子邮件,我已经编写了存储电子邮件的代码。否则,它应该使用空字符串,例如“”。一段时间了...
回答如下:您正在尝试保存newUser,然后检查是否发生错误。如果err不为null,则需要继续newUser.save(),否则将引发错误。