當我試圖將我的歡迎頻道 ID 設定為 MongoDB 為什么我的頻道最后兩位數更改為“ 00 ”時
954226649841430572 --> (when i send to database it changes to) 954226649841430500

我的代碼:
await guild.updateOne(
{ guildID },
{ $set: { leavechannel: channelID } }
);
uj5u.com熱心網友回復:
在 MongoDB 中,由于存盤大型 Int 的性質,有時可以減少大量資料。不要將值 raw 保存為數字,而是首先使用該.toString()方法并將值存盤為字串。這將消除 MongoDB 切斷大 Ints 的問題,并且因為 JS 是動態型別的,所以一旦您從 MongoDB 獲取 ID 作為數字,它就不會影響使用它。
在這里回答了關于太大的 Ints 的類似問題
編輯:除了大的 Int 問題外,Discord.js 無論如何都會將雪花決議為字串。
來自https://discord.com/developers/docs/reference#snowflakes 在某些情況下,我們的 API 和網關可能會以意外格式回傳 ID。在內部,Discord 將 ID 存盤為整數雪花。當我們將 ID 序列化為 JSON 時,我們將 bigint 轉換為字串。鑒于所有 Discord ID 都是雪花,您應該始終期待一個字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/460152.html
標籤:javascript 节点.js mongodb 猫鼬 不和谐.js
上一篇:貓鼬查找或多列不起作用
