我想获取附近的 100 个用户,但我想删除当前被阻止的用户,这样如果有 10 个被阻止的用户,则返回的用户不会是 90,而是 100...
我写了这个查询(使用 mongojs 作为节点):
db.users.find({location: {$near: [lng, lat]}, _id:{$ne: ObjectId('4ffeff845d46eaf1aa000002')}}, function(err, docs) {
if(!err) {
res.json(users);
};
}).limit(100);
这有效,但仅适用于一个被阻止的用户,我在用户文档中有一个字段,以便用户可以阻止多个用户:
{
...
blockedUsers: ['4ffeff845d46eaf1aa000002', '4ffeff845d46eaf1aa000012',....]
}
我已经厌倦了在 $ne 之后添加一个 ObjectId 的数组,但它什么也没做,我也厌倦了使用 || 拆分所有 ObjectId 的变量 这也没有奏效。
我的问题是我将如何查询 mongodb 以查找最近限制为 100 的用户,删除被阻止的用户,因此如果我在查询后要删除它们,它实际上返回 100 而不是减去被阻止的用户?