【问题标题】:MongoDB, finding users nearby but removing blocked users without affecting limitMongoDB,查找附近的用户但删除被阻止的用户而不影响限制
【发布时间】:2012-07-12 18:07:31
【问题描述】:

我想获取附近的 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 而不是减去被阻止的用户,如果我在查询后删除它们?

【问题讨论】:

    标签: mongodb mongodb-query


    【解决方案1】:

    【讨论】:

    • 谢谢,我一定错过了!
    猜你喜欢
    • 1970-01-01
    • 2021-11-17
    • 2021-06-19
    • 2019-01-16
    • 2013-01-31
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2016-10-02
    相关资源
    最近更新 更多