Я работаю с объектом пользователя Discord.js и схемой Mongoose. Но проблема, кажется, не является частью этого.
var Message = require('../app/models/message'); //Mongoose Schema
...
var newMessage = new Message();
...
//taggedUser is an object containing all the info about user. id property contains user id which is number.
const taggedUser = message.mentions.users.first();
newMessage.message.to = taggedUser.id;
console.log(taggedUser.id);
console.log(newMessage.message.to);
Приведенный выше код должен назначить ID пользователя для схемы. Все работает, но ...
442090269928849410
442090269928849400
Последние 2 символа теперь не совпадают среди этих переменных. Как это вообще возможно? =
изменил фактические данные внутри переменной?
В случае, если это Mongoose, вот как выглядит схема:
var msgSchema = mongoose.Schema({
message : {
from : Number,
to : Number,
content : String,
time : Date
}
});
Редактировать :
Если я изменюсь
to : Number,
в строку:
to : String,
Работает нормально. Мне все еще нужен ответ о том, почему это работает неправильно с номером. Прямо над проблемной строкой у меня есть другой идентификатор, который отлично работает:
newMessage.message.from = msg.author.id;
Я уже пытался проанализировать taggedUser.id для целого числа или создания объекта Number (), но это не помогло. Таким образом, каждый раз, когда я превращаю taggedUser.id
в число или анализирую его, int меняется на немного другое число.
Я не знаю, что думать. Как данные могут измениться во время назначения?
Если в вопросе недостаточно данных, пожалуйста, спросите меня, и я добавлю все необходимое. Я не могу представить, что может быть причиной этой ошибки.