Yo uso mongodb para mi proyecto.
cuando pongo este código - db.find( {"N": {$eq:1} } ) , el resultado es una matriz vacía.
pero cuando pongo este código - db.find({$where : function(){return(this.N==1)}}) , el resultado es la matriz que quiero.
Creo que dos códigos son iguales. ¿Por qué el resultado del primer código es una matriz vacía?
El valor no es un número como afirmas, la sintaxis == es diferente al operador eq estricto === (que es el equivalente~ del $eq de Mongo) como se puede ver en este ejemplo
1 == `1` > trueMientras que el operador estricto
1 === '1' > falseEntonces solo necesita cambiar el código para que coincida con la cadena '1', así:
db.find( {"N": {$eq:'1'} }O si quieres apoyar ambos casos:
db.find( {"N": {$in: [1, '1']} }Le recomiendo que arregle su esquema y base de datos para asegurarse de que esté alineado con lo que cree que debería ser la estructura.