【问题标题】:Failed to parse: filter: mongoDB error解析失败:过滤器:mongoDB错误
【发布时间】:2017-10-25 09:02:52
【问题描述】:

我正在尝试使用日期范围字段从集合中查询数据,我的文档已实现正则表达式搜索,

我的查询如下,

 db.getCollection('_event').find([{"name":{"$regex":"2017","$options":"i"}},{},{"date.start:{$gte":"2017-03-07T18:30:00.000Z"},{"date.end:{$lt":"2017-11-16T18:30:00.000Z"}])

mongo 报错

错误:错误:{“waitedMS”:NumberLong(0),“ok”:0,“errmsg”: “解析失败:过滤器:[{名称:{$regex:\”2017\”,$options: \"i\" } }, {}, { date.start:{$gte: \"2017-03-07T18:30:00.000Z\" }, { date.end:{$lt:\"2017-11-16T18:30:00.000Z\"}]。 “过滤器”字段必须 是 BSON 类型的对象。", "code" : 9 }

有什么帮助吗?

【问题讨论】:

    标签: node.js mongodb robo3t


    【解决方案1】:

    find 方法的参数必须是 JSON/BSON 文档,而不是列表。试试

    db.getCollection('_event').find({
           "name":{"$regex":"2017","$options":"i"},
           "date.start":{"$gte":"2017-03-07T18:30:00.000Z"},
           "date.end":{"$lt":"2017-11-16T18:30:00.000Z"}
    })
    

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      相关资源
      最近更新 更多