significado mangosta espaƱol bicicletas mongoose

mangosta - mongoose bicicletas



Mangosta: compruebe si el objeto es un objeto mangosta (6)

¿Alguien sabe cuál es la forma más sencilla de verificar si un objeto es un objeto de mangosta? ¿Estoy mejor comprobando si toObject () está definido o hay una manera más eficiente? muchas gracias


Estoy usando esto

if (object.constructor.name === ''model'') { // object is mongoose object }


Lo siguiente para mí en el caso de verificar cuando un ObjectID es un objeto poblado o simplemente un ObjectID:

if (object._id.constructor.name === ''ObjectID'') { // Not a populated object, only its ID }


Mi forma preferida de determinar si un objeto es un modelo de Mangosta es casi tan simple como el anterior, pero no del todo:

function isModel(obj) { obj = obj || {} return obj.prototype instanceof mongoose.Model }

En el contexto en el que uso esto, no quiero volver a estar definido, pero debo verificar que no he obtenido un "3" o algún valor extraño en el que espero un modelo.

Por supuesto, después de pensar más en esto, hay más de una manera de ser un "objeto de Mangosta". Algunas veces he confundido un DTO con un modelo de Mangosta y luego lo he usado mal más tarde, de ahí mi prueba anterior ... pero si solo necesitara verificar que algo es una instancia, pero por alguna razón no podría saber el tipo de instancia, lo haría haz algo como lo que hizo Lukasz arriba y mira la base del constructor.


Otra forma sencilla:

const isMongooseModel = (object instanceof Mongoose.Model);


Para comprobar si obj es un objeto Mongoose, use este fragmento de código:

const _ = require(''lodash''); const mongoose = require(''mongoose''); function checkIfMongooseObject(obj) { return _.get(obj, ''constructor.base'') instanceof mongoose.Mongoose; }

Al contrario de las otras soluciones provistas, esta es segura: nunca fallará independientemente del tipo de objeto (ya sea incluso String o Int).


Puede verificar el prototipo del objeto a través del operador instanceof para confirmar que es una instancia de su modelo de mangosta. Usando el esquema de ejemplo de mongoosejs.com :

if (obj instanceof Cat) { // yes, it''s a mongoose Cat model object ... }