mysql - 将此 SQL 查询转换为 mongodb 查询 -

标签 mysql sql mongodb

我是 MongoDB 新手,因此我需要帮助从下面的 SQL 查询创建 mongo 查询。我还尝试创建一个类似于 MySQL 查询的 MongoDB 查询。

//SQL
SELECT *
FROM SUMMARY
WHERE STATUS=? AND ENDTIME < (NOW() - interval 15 MINUTE)

// MongoDB
db.trip.find({
    "status": "CONNECTION_LOST",
    "endTime": {
        "$lt" : dateDifference : {
            $subtract: [ new Date(), 15*60*1000 ] 
        }
    } 
})

下面是与行程相关的mongo文档,日期为ISO格式

[
  {

    "_id" : ObjectId("59b009af802f927038ee05e6"),
    "tripNum" : 644358,
    "startTime" : ISODate("2017-07-20T10:21:11Z"),
    "endTime" : "ISODate("2017-07-20T10:45:11Z"),
    "status" : "CONNECTION_LOST"
  },
  {

    "_id" : ObjectId("59b009erf802f9er38ee05e6"),
    "tripNum" : 644359,
    "startTime" : ISODate("2017-07-20T10:55:11Z"),
    "endTime" : ISODate("2017-07-20T11:21:11Z"),
    "status" : "CONNECTION_LOST"
  }
]

最佳答案

您必须将日期计算结果转换为Date (ISODate)对象。

查询示例:

db.trip.find({
    "status": "CONNECTION_LOST",
    "endTime": { "$lt": new Date(new Date() - 15*60*1000) }
})

关于mysql - 将此 SQL 查询转换为 mongodb 查询 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47882321/

相关文章:

sql - Windows 应用程序是否容易受到 SQL 注入(inject)攻击

javascript - MongoDB 中的 "Generic Collection"?

mongodb - 在查找中使用 $slice

javascript - 获取数字的 CastError NaN

PHP:字符串在外部文件中不起作用

java - 如何将 IN 参数传递给 mysql 存储过程

php - Mysql查询order by desc limit in codeigniter

java - 我的 SQLPreparedStatement 有什么问题?

MySQL 查询到 CSV