我想將空陣列存盤在用戶模式的朋友鍵中。但是,貓鼬不會讓我添加空的朋友陣列。
這是我的用戶架構
const userSchema = mongoose.Schema({
firstName: {
type: String,
required: true,
},
lastName: {
type: String,
required: true,
},
userName: {
type: String,
unique: true,
required: true,
},
email: {
type: String,
required: true,
unique: true,
validate: [validator.isEmail, "Please enter a valid Email"],
},
password: {
type: String,
required: true,
minlength: [6, "Password must be at least 6 characters"],
},
friends: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
unique: true,
},
],
});
這是我從陣列中提取資料并保存空陣列的代碼
const index = req.user.friends.findIndex(friend => friend.toString() === req.params.id);
if(index !== -1){
req.user.friends.splice(index, 1);
}else{
req.user.friends.push(req.params.id);
}
const user = new User(req.user);
await user.save({validateBeforeSave: false});
return res.json({success: true});
uj5u.com熱心網友回復:
改為指定默認值
friends: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
unique: true,
default: []
},
],
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/405563.html
標籤:
上一篇:如何不使用Mongoose鑒別器為基本模型創建集合?
下一篇:如果在搜索貓鼬中出現問題
