$ ne在MongoDB查询中不起作用

时间:2018-05-28 14:23:42

标签: feathersjs

我的MongoDB查询并未在FeathersJS客户端插件上按$ ne进行过滤。位置/ $ near正在运作。

 app.service('users').find({
                query: {
                    location: {
                        $near: {
                            $geometry: {type: "Point", coordinates: [user.location.coordinates[0], user.location.coordinates[1]]},
                            $minDistance: 0,
                            $maxDistance: 20000
                        }
                    },
                    _id: {
                        $ne: user._id
                    },
                    profileSetup: true
                }

1 个答案:

答案 0 :(得分:2)

通常在Mongo中比较ObjectID,你需要将你的值(user._id)与ObjectId包装起来,从Mongo中导入它。

const ObjectID = require("mongodb").ObjectID

 app.service('users').find({
   query: {
     location: {
       //... geo query here
       _id: {
          $ne: ObjectID(user._id)
       },
       profileSetup: true
     }

原因是我猜想objectId不是内部的字符串。 :)