@TipoImya

Почему не сохраняются данные в MongoDB?

const Family = require('./data/family.js');

bot.on("message", async message => {
  if(message.content.startsWith("!faminvite")) {
    const user = message.mentions.members.first();
    const args = message.content.split(/ +/);
    if(!args[1]) {
      return await message.channel.send(`<@${message.author.id}>, вы не указали название семьи!`)
    }
    if(!args[2]) {
      return await message.channel.send(`<@${message.author.id}>, вы не указали пользователя, которого хотите пригласить!`)
    }
    if(!user) {
      return await message.channel.send(`<@${message.author.id}>, вы не правильно указали пользователя.`)
    }
    Family.findOne({FamilyName: args[1]}, async(err, fam) => {
      if(err) console.log(err);
      if(!fam) {
        return await message.channel.send(`\`<@${message.author.id}>, такой семьи нету!\``)
      }
      if(fam.FamilyInfo.FamilyMembers.includes(user.id) && fam.FamilyInfo.FamilyMembersDescr.includes(`<@${user.id}>`)) {
        return await message.channel.send(`\`<@${message.author.id}>, пользователь <@${user.id}> уже состоит в вашей семье!\``)
      }
      await fam.FamilyInfo.FamilyMembers.push(user.id)
      await fam.FamilyInfo.FamilyMembersDescr.push(`<@${user.id}>`)
      await fam.save().catch(err => console.log(err))
      console.log(fam.FamilyInfo.FamilyMembersDescr)
      console.log(fam.FamilyInfo.FamilyMembers)
    })
  }
})

В базу данных почему-то не записывает данные, в чем может быть проблема?

БД:
5f40c73915e5a033011314.jpeg
  • Вопрос задан
  • 269 просмотров
Решения вопроса 1
hzzzzl
@hzzzzl
возможно из-за кучи вложенных объектов mongoose/mongo не понимает, что исходный объект изменился, попробуй

// не надо await добавление в массив
fam.FamilyInfo.FamilyMembers.push(user.id)   
fam.FamilyInfo.FamilyMembersDescr.push(`<@${user.id}>`)

fam.markModified('FamilyInfo')
// возможно придется сообщать об изменении каждого вложенного массива
// fam.markModified('FamilyInfo.FamilyMembers')   // ?

await fam.save()


https://mongoosejs.com/docs/api/document.html#docu...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы