Мне нужно, чтобы структура повторялась для каждого пользователя, использующего бота. (мангуст, discord.js )

#javascript #node.js #mongoose #discord #bots

#javascript #node.js #мангуст #Discord #боты

Вопрос:

Я использую MongoDB (mongoose) для создания базы данных, в которой сохраняются заметки пользователя, для моего бота discord, который программируется в Discord.JS .

Мой «Guild.js » досье:

 const { Schema, model } = require('mongoose');
const Guild = Schema({
    id: String,

    user1: {
        note: {
            default: 'No notes here.',
            type: String
        }    
    }
})

module.exports = model('Guild', Guild)
  

Мне нужно, чтобы структура «user1» повторялась для каждого пользователя, использующего бота. Что-то вроде этого:

 const { Schema, model } = require('mongoose');
const Guild = Schema({
    id: String,

    user1: {
        note: {
            default: 'No notes here.',
            type: String
        }    
    }

    user2: {
        note: {
            default: 'No notes here.',
            type: String
        }    
    }

    user3: {
        note: {
            default: 'No notes here.',
            type: String
        }    
    }
})

module.exports = model('Guild', Guild)
  

PS: «user1», «user2» будут идентификаторами пользователей, чтобы я мог сравнить с идентификатором пользователя, который ввел команду «.push-note» и отправил правильную заметку.

Я надеюсь, что я правильно предоставил всю необходимую информацию. Извините, если есть какие-либо ошибки в английском, я бразилец.

Ответ №1:

Попробуйте использовать массив пользователей

 const { Schema, model } = require('mongoose');

const User = Schema({
   id: String,
   note:{
      default: 'No notes here.',
      type: String
   }
})

const Guild = Schema({
   id: String,
   users:[User]
})

module.exports = model('Guild', Guild)
  

и сравнить идентификатор пользователя из массива
// Я не пытался запускать в node, там могут быть какие-то опечатки