[英]Query with MongoDB and Node.js not returning any results
我是Java,Node.ja和MongoDB的新手,并且在指定查询参数时无法将结果返回到Node.js服务器中(可以很好地返回所有记录而无需查询)。
我的收藏集的时间戳字段格式为“ yyyy-mm-dd hh:mm:ss”,我想返回所有小时为“ 00”,“ 06”,“ 12”或“ 18”的结果图表(使用chart.js)
在mongo cmdline上,我可以执行以下操作:
db.MyCollection.find({$ or:[{“ timestamp”:/.* 06 :. /},{“ timestamp”:/。 12 :. /},{“ timestamp”:/。 18 :. /} ,{“ timestamp”:/。 00:。* /}]})
这返回了我的期望。 但是,我无法在Node.js服务器中使用它。
function getChartData_7d(callback) {
MongoClient.connect(mongoURL, function(error, client) {
if (error) {
throw err;
}
var db = client.db('WeatherDB');
var collection = db.collection('AverageTPH');
var query = {
$or:[
{timestamp: /.* 06:.*/},
{timestamp: /.* 12:.*/},
{timestamp: /.* 18:.*/},
{timestamp: /.* 00:.*/}
]
};
/*
** Even this query doesn't return anything
*/
var query = {
timestamp: /.* 06:.*/
};
/*
** But this does...
*/
var query = {};
var options = {
"limit": 7
};
/*
** Get a reading 4 times a day at 06:xx, 12:xx, 18:xx, 00:xx for 7 days...
*/
collection.find(query, options).sort({timestamp: -1}).toArray((error, items) => {
if (error) {
throw error;
}
return callback(items);
});
client.close();
});
}
我已经看过示例并阅读了MongoDB手册,但是我想尽一切办法使它起作用。 任何帮助将非常感激。
好的,我找到了解决方案。 由于我几乎找不到有用的文档和示例,因此我转储了MongoDB并安装了Postgres,它的工作原理很吸引人!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.