Tengo una colección de "empresas" con varios objetos. Cada objeto tiene el parámetro "_id". Estoy tratando de obtener este parámetro desde db:NodeJS + MongoDB: Obtener datos de la colección con findOne()
app.get('/companies/:id',function(req,res){
db.collection("companies",function(err,collection){
console.log(req.params.id);
collection.findOne({_id: req.params.id},function(err, doc) {
if (doc){
console.log(doc._id);
} else {
console.log('no data for this company');
}
});
});
});
Así que pidan a las empresas/4fcfd7f246e1464d05000001 (4fcfd7f246e1464d05000001 es _id-Parma de un objeto que necesito) y findOne no devuelve nada, que 'por qué console.log (' no hay datos para esta empresa '); ejecuta
Estoy absolutamente seguro de que tengo un objeto con _id = "4fcfd7f246e1464d05000001". ¿Qué estoy haciendo mal? ¡Gracias!
Sin embargo, acabo de notar que la identificación no es un campo de cadena típico. Eso es lo que muestra mViewer:
"_id": {
"$oid": "4fcfd7f246e1464d05000001"
},
parece ser un poco extraño ...
Eso es un Id. De objeto. En su consulta, debe construir uno a partir de la cadena (me sorprende que la biblioteca no lo haga por usted). –