我正在尝试运行此查询:

db.zips.find({"state":"GA"}, {"pop":{$gt:0}}).sort({pop:1}).limit(5)

但我不断收到此错误:
"errmsg" : "Unsupported projection option: pop: { $gt: 0.0 }"

当我运行此查询时,它完美运行:
db.zips.find({"state":"GA"}).sort({pop:1}).limit(5)

我试图找到“state”=“GA”然后“pop”大于0的字段并将其限制为5个结果并按升序对它们进行排序。

当我将 {"pop":{$gt:0}} 部分作为 find 函数中的第一个参数时,它会运行,但它忽略了我只想要等于“GA”的状态这一事实。我不知道如何解决这个问题,有人知道出了什么问题吗?

最佳答案

Mongodb 的 find 函数有两个参数,查询和投影。您正在触发的查询有两个对象,第二个被视为投影条件。

您的 query 应将所有条件保存在单个对象中。

db.zips.find({
               "state":"GA",
               "pop":{$gt:0}
            })
       .sort({pop:1})
       .limit(5)

关于javascript - MongoDB: "Unsupported projection option: pop: { $gt: 0.0 }"(调试),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43792754/

10-16 13:07