簡體   English   中英

如何在 mongodb 中存儲空數組

[英]How to store empty array in mongodb

我想將空數組存儲在用戶模式的朋友鍵中。 但是,mongoose 不會讓我添加空的朋友數組。

這是我的用戶架構

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});

改為指定默認值

friends: [
    {
      type: mongoose.Schema.Types.ObjectId,
      ref: 'User'
      unique: true,
      default: []
    },
  ],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM