我的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
}
答案 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不是内部的字符串。 :)