我正在使用mongodb作为我的MEAN.JS应用程序。 我在我的本地开发机器上安装了mongodb 2.6。*版。在远程服务器上,我安装了mongodb 1.2.2版。我使用Mongoose作为我的ORM。
除了以下内容之外,所有其他代码似乎都适用于两个版本的mongo:
RoomAvailability.find({
'resort_id': checklist.resort_id,
$or: [{
'start_date': {
$lte: checklist.end_date
}
}, {
'end_date': {
$gte: checklist.start_date
}
}]
}, function (err, booked_rooms) {});
此查找查询似乎在我的本地计算机上提取正确的数据。在远程服务器上,它为同一组数据返回一个空数组。
有任何语法问题吗?请指导。
答案 0 :(得分:1)
版本1.6中添加了$or
运算符(请参阅docs),因此如果远程服务器运行的是1.2.2,则它不支持$or
。您需要升级该服务器以使用$or
。
1.2.2是真正的旧版MongoDB。