在mongodb中查找除一个以外的所有内容

时间:2016-12-19 13:50:45

标签: mongodb mongodb-query

我想通过使用_id跳过一个特定用户并显示所有其他用户,我正在尝试下面的代码无法正常工作:

db.user.find(
    { _id: { $nin: ["5848e9ecaec0f31372816a26"] } },
    { username: 1 }
).pretty()

3 个答案:

答案 0 :(得分:2)

将ObjectId用于_id:

db.user.find( { _id: { $nin: [ObjectId("5848e9ecaec0f31372816a26")] } } )

答案 1 :(得分:1)

简短回答:对一个用户$ne使用db.user.find( {_id:{$ne:"5848e9ecaec0f31372816a26"} })

答案 2 :(得分:0)

我在这里搜索已定义的套接字,这意味着用户在线。因此,请使用$ nin:

const indexUsersHelper = async (req, res, next) => {
        try {
            return await db.User.find({ socketId: { $nin: 0 } });
        } catch (err) {
            next(err);
        }
    };