@TipoImya

MongoDB создает не нужную мне бд. Почему?

У меня есть команда и БД "rusters", если человек ее прописывает, то сначала идет запрос в бд, если есть этот человек в БД, то все ок - выполняем дальше команду, если же нету, то мы создаем в БД документ в коллекции "users" и вписываем туда некоторые данные про этого пользователя, например ид автора сообщения.
Это я сделал. Все работало прекрасно, но в какой-то момент я решил добавить другую коллекцию, допустим moderators ну и соответственно другую команду. Только вместо того, чтобы записалось в БД "rusters", коллекцию "moderators" - создается БД с названием "dbname" с коллекцией "moderators" и там создается документ, но при этом старая БД есть, и она никуда не делась. С чем это может быть связано и как это решить? моя задача - записать в коллекцию "moderators", которая находится в БД "rusters".

let User = require('./data/user.js');
bot.on("message", message => {
  if(message.content.startsWith("!test")) {
    User.findOne({userID: message.author.id}, (err, Data) => {
      if(err) console.log(err);
      if(!Data) { // если нету пароля с таким названием.
        let NewData = new User({ userID: message.author.id, coins: 0});
        return NewData.save().catch(err => message.channel.send(`\`[⚠️ DataBase]\` Произошла ошибка во время сохранения данных. Ошибка: ${err}`))
      }
      message.delete()
      let embed = new Discord.MessageEmbed()
      .setTitle('Ошибка!')
      .setColor("RED")
      .setDescription(`Такой пользователь уже есть!`)
      .setThumbnail('http://i.yapx.ru/IfkAN.png')
      return message.channel.send(embed)
      .then(msg => msg.delete({timeout: 10000}))
    })
  }
})


Содержимое в user.js.

const mongoose = require('mongoose');
const schema = mongoose.Schema({
    userID: String,
    coins: { type: Number, default: 0 },
});
module.exports = mongoose.model("User", schema)

вот что создается
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev
software engineer
А где в вашем подключении к монгодб выбор базы?
Либо перед запросом выполните use rusterscluster, либо в настройках подключения следует указывать базу по умолчанию.
Подозреваю, что в настройках у вас прямо так и указано db=dbname, как это было в каком-то примере.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы