Estoy ejecutando con éxito esta consulta en el shell:
db.hourlydatas.find({'timeseries':ObjectId('1234')})
Tratando de traducirlo al controlador mongo:
MongoClient.connect(config.db, function(err, db) { // Use the admin database for the operation var collection = db.collection('hourlydatas'); collection.find({'timeseries':'1234'}).toArray(function(err, docs) { // assert.equal(err, null); console.log("Found the following records"); console.log(docs); // callback(docs); }); });
Esto no devuelve ningún documento, supongo porque no estoy convirtiendo la cadena en un ID de objeto. ¿Es esto posible en el controlador?
Prueba esto
var ObjectId = require('mongodb').ObjectID;var collection = db.collection('hourlydatas'); collection.find({'timeseries':ObjectId('1234')}).toArray(function(err,docs) {...})
Debería funcionar, ¿estás seguro de que te estás conectando a la misma base de datos? verifique si ambas conexiones son para probar o producir ... Una vez perdí mucho tiempo en esto solo para descubrir al final que mi mongo-shell estaba conectado a la producción mientras el nodo se conectaba a la prueba.