使用Mongoose和MEAN堆栈的mongodb 1.2.2上的$或条件可能会失败?

时间:2015-04-10 12:28:08

标签: node.js mongodb express mongoose meanjs

我正在使用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) {});

此查找查询似乎在我的本地计算机上提取正确的数据。在远程服务器上,它为同一组数据返回一个空数组。

有任何语法问题吗?请指导。

1 个答案:

答案 0 :(得分:1)

版本1.6中添加了$or运算符(请参阅docs),因此如果远程服务器运行的是1.2.2,则它不支持$or。您需要升级该服务器以使用$or

1.2.2是真正的旧版MongoDB。