Estoy tratando de editar un bot de discordia hecho en python (almacené datos inicialmente en python) y los transfiero a javascript (node.js) y no puedo aparecer mientras me conecto a mi base de datos anterior, ¿por qué findOne me da nulo mientras proporciona la discordia adecuada? identificación.
sin nada dentro
Código
anifarm.findOne();Producción
{ _id: 707876147324518400, farmed: 17, ordered: 5, pimage: 'https://media.tenor.com/images/e830217a5d9926788ef25119955edc7f/tenor.gif', pstatus: 'I want you to be happy. I want you to laugh a lot. I don't know what exactly I'll be able to do for you, but I'll always be by your side.', avg: 184, speed: 2, badges: [ 'https://cdn.discordapp.com/attachments/856137319149207563/856137435696332800/Black-and-Yellow-Gaming-Badge--unscreen.gif', 'https://cdn.discordapp.com/attachments/856137319149207563/862219383866523688/Front-removebg-preview.png', 'https://cdn.discordapp.com/attachments/856137319149207563/862240758768599100/download-removebg-preview.png' ], setBadges: 'https://cdn.discordapp.com/attachments/856137319149207563/862240758768599100/download-removebg-preview.png' } con identificación adentro
Código
anifarm.findOne({ _id: 707876147324518400 });Producción
null anifarm en el esquema.
Esquema declarado
module.exports = mongoose.model('anifarm', new mongoose.Schema({ _id: Number, farmed: { type: Number, default: 0 }, ordered: { type: Number, default: 0 }, pimage: { type: String, default: "" }, pstatus: { type: String, default: "" }, avg: { type: Number, default: 200 }, speed: { type: Number, default: 2 }, badges: { type: Array, default: [] }, setBadges: { type: String, default: "" } }, { collection: 'anifarm', versionKey: false }) ); No puedo entender qué estoy haciendo mal. Este problema también ocurre con .find()
Nada dentro de find obtiene todo, si proporciono una identificación, envía una matriz vacía.
Un poco de ayuda sería apreciada
Para su problema, use mongoose-long que debería solucionar su problema.
Esta biblioteca manejará todos los datos de tipo largo para mongoose ya que mongoose no puede manejar datos de tipo largo
no puede pasar una identificación como un número, tendrá que usar ObjectId para convertir la id en una instanceof de ObjectId
Cambia tu código así
anifarm.findOne({ _id: mongoose.Types.ObjectId(707876147324518400); });