解析失败:过滤器:mongoDB 错误

Failed to parse: filter: mongoDB error

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

我的查询如下,

 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 抛出错误

Error: error: { "waitedMS" : NumberLong(0), "ok" : 0, "errmsg" : "Failed to parse: filter: [ { name: { $regex: \"2017\", $options: \"i\" } }, {}, { date.start:{$gte: \"2017-03-07T18:30:00.000Z\" }, { date.end:{$lt: \"2017-11-16T18:30:00.000Z\" } ]. 'filter' field must be of BSON type Object.", "code" : 9 }

有什么帮助吗?

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"}
})