繁体   English   中英

用MongoDB和Node.js查询不返回任何结果

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM