【问题标题】:querying on json data | Mongodb | django | python查询 json 数据 | MongoDB | Django | Python
【发布时间】:2016-06-06 11:20:54
【问题描述】:

我想获取在 2016 年 6 月 6 日星期一 13:54:32 之后发布的所有新闻。我试过这个:

db.collection.find({'date':{$gt:'Mon, 06 Jun 2016 13:54:32'}})

但我收到了无效的语法错误。

【问题讨论】:

  • 第一个问题是您使用单引号。 (') 而不是 (")。其次,您在末尾缺少一个大括号

标签: python json mongodb


【解决方案1】:

做这样的事情

db.collection.find({"date" : { $gt : "Mon, 06 Jun 2016 13:54:32" }});

干杯!

【讨论】:

    【解决方案2】:

    我认为您必须执行类似 $gt: new Date("Mon, 06 Jun 2016 13:54:32Z") 或 ISODate(...) 之类的操作,以允许 mongodb 将其与 BSON 表示进行比较存储。

    【讨论】:

      【解决方案3】:

      似乎是语法错误。检查以下代码:

      db.collection.find({"date":{$gt:"Mon, 06 Jun 2016 13:54:32"}})
      

      如果您是从 python/django 代码连接,上述查询可能无法再次工作。然后在下面使用:

      db.collection.find({"date":{"$gt":"Mon, 06 Jun 2016 13:54:32"}})
      

      还要查看您是如何存储日期的,如果它是 ISO 格式,则使用:

      db.collection.find({"date":{$gt:ISODate("Mon, 06 Jun 2016 13:54:32")}})
      

      【讨论】:

        【解决方案4】:

        这是一个语法错误。

        你这样写 db.collectionName.find({"AttributeName":{$gt:"你的日期格式"}}); 在你的情况下,它应该是这样的 db.collection.find({"date":{$gt:"Mon, 06 Jun 2016 13:54:32"}})

        【讨论】:

          猜你喜欢
          • 2021-11-17
          • 1970-01-01
          • 2016-02-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-01
          • 2012-10-28
          相关资源
          最近更新 更多