如何在MongoDB中查询日期?Robo3T查询报错求助
解决MongoDB查询时的投影参数错误问题
嘿,这问题我太熟啦!你之所以会收到那个报错,核心原因是把查询过滤条件放错位置了。
MongoDB的find()方法是分两个参数的:
- 第一个参数是查询条件对象,用来筛选符合要求的文档,这里才是放
$gte这类比较操作符的地方; - 第二个参数是投影规则对象,只能用来指定哪些字段需要返回、哪些不需要,不能在这里写查询条件。
你之前的命令把$gte条件写到了第二个投影参数里,MongoDB自然会报错说“不支持的投影选项”。
正确的查询命令应该是这样:
db.getCollection('Tainan').find( // 第一个参数:查询条件,筛选releasedTime >= 指定时间的文档 {"movie.film.releasedTime": {$gte: ISODate("2018-03-24T18:00:00.000Z")}}, // 第二个参数:投影规则,只返回movie.film.releasedTime字段 {"movie.film.releasedTime": 1} )
如果连默认返回的_id字段也不想包含,可以把投影改成{"movie.film.releasedTime": 1, "_id": 0}。
内容的提问来源于stack exchange,提问作者Morton
相关产品推荐
相关产品推荐

