我该如何解决:“ MongoError:此地图集层中不允许$ where”?

时间:2019-01-15 13:54:55

标签: mongodb mongodb-query

当使用MongoDB Atlas时,如何解决:“ MongoError:在此Atlas层中不允许$ where?”

这是我的代码:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<a href="#">
    <h2>This is a header</h2>
    <h4>This is another header</h4>
</a>

当我使用本地mongoDB实例时,它可以工作,但是一旦我开始使用mongoAtlas,我就会收到错误消息:此Atlas层中不允许$ where。我该如何解决?

2 个答案:

答案 0 :(得分:1)

虽然您使用的Atlas层可能不支持$where,但是好消息是您不需要在此查询中使用它。

请使用类似以下查询:

let now = new Date();
let min = new Date();
min.setTime(now.getTime() - 100*60000);
const events = await event.find({eventTime: {$gt: min, $lt: now}});

通常,您只想使用$where作为最后的手段,因为它效率不高。

答案 1 :(得分:0)

我刚刚被告知免费层(M0),M2和M5实例具有一些限制和命令限制,包括有限的分析指标。因此,我必须升级以获得更多功能。...