GOOGLE ADS

sábado, 30 de abril de 2022

Al establecer mi ID de canal de bienvenida en mongodb, ¿por qué cambian mis últimos dos dígitos?

Cuando estoy tratando de configurar mi ID de canal de bienvenida en MongoDB ¿Por qué mi canal cambia los últimos dos dígitos a " 00 ", por ejemplo?
954226649841430572 --> (when i send to database it changes to) 954226649841430500

página mongodb

mi código:

 await guild.updateOne(
{ guildID },
{ $set: { leavechannel: channelID } }
);


Solución del problema

En MongoDB, a veces se pueden cortar números grandes debido a la naturaleza del almacenamiento de Ints grandes. En lugar de guardar el valor sin procesar como un número, primero use el .toString()método y almacene el valor como una cadena. Esto eliminará el problema de MongoDB cortando Ints grandes y debido a que JS se escribe dinámicamente no tendrá ningún efecto en el uso de la ID como un número una vez que la obtenga de MongoDB.

Pregunta similar respondida aquí sobre Ints que son demasiado grandes

Editar: además del gran problema de Int, Discord.js analizará los copos de nieve en cadenas de todos modos.

De https://discord.com/developers/docs/reference#snowflakes
Hay algunos casos en los que nuestra API y Gateway pueden devolver ID en un formato inesperado. Internamente, Discord almacena ID como copos de nieve enteros. Cuando serializamos ID en JSON, transformamos bigints en cadenas. Dado que todas las ID de Discord son copos de nieve, siempre debe esperar una cadena.

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...