【问题标题】:MongoDB query string with ISODate from the angular front end来自角度前端的带有 ISODate 的 MongoDB 查询字符串
【发布时间】:2016-02-21 19:29:18
【问题描述】:

我有一个想要灵活使用的 mongoDB 模型查询 Model.find(query)。我的想法是传入任何可能需要查找模型的特定实例的对象。就我而言,我正在寻找给定日期之前的实例,例如:

db.model.find({"date": {"$lt": ISODate('2016-02-11T19:00:38.702Z')}})

这段代码完美无缺。我遇到的问题是相同的创建/字符串化。在前端,我会这样做:

{date: {$lt: 'ISODate("'(new Date()).toISOString()+'")'}}

问题是 ISODate 需要在查询中不带引号。有关如何在 GET 请求中传输此查询的任何线索?

【问题讨论】:

    标签: javascript node.js mongodb get query-string


    【解决方案1】:

    您只需将Date 字符串发送到服务器即可将其转换为ISODate

    来自客户:

    // 1. stringify the date
    var currentDate = (new Date()).toISOString();
    // 2. send the date in a request
    // This example sends the string via the query parameter 'currentDate'
    

    在服务器上:

    db.model.find({"date": {"$lt": ISODate(req.query.currentDate)}})
    

    【讨论】:

    • 我想从前端发送完整的查询,因为我会将它用作过滤器,所以这不起作用,对吧?
    猜你喜欢
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 2018-01-18
    • 2020-03-10
    • 1970-01-01
    相关资源
    最近更新 更多