如何在mongoDb中编写或同一查询?

时间:2014-02-20 05:55:11

标签: mongodb

如何在mongoDb中编写和/或在同一查询中? 如果我想在mongoDb中写下面的查询,我该怎么做呢。

select * from emp where (empid > 200 and dept_id=5) or dept_id <=4;

如果集合保留在列

之下
emp_id,emp_name,dept_id,sal

2 个答案:

答案 0 :(得分:1)

db.emp.find({$or: [{$and: [{emp_id: {$gt: 200}}, {dept_id: 5}]}, {dept_id: {$lte: 4}}]})

阅读有关比较查询运算符here和逻辑查询运算符{{3p>的文档

答案 1 :(得分:0)

试试这个:

db.coll.find({
    $or: [
        {
            $and: [
                {
                    emp_id: { $gt: 200 },
                },
                {
                    dept_id: 5
                }
            ]
        },
        {
            dept_id: { $lte: 4 }
        }
    ]
})

或更简单(在这种情况下):

db.coll.find({
    $or: [
        {
            emp_id: { $gt: 200 },
            dept_id: 5
        }
        {
            dept_id: { $lte: 4 }
        }
    ]
})