使用“in”修饰符编写MongoDB查询

时间:2012-07-10 05:37:40

标签: java mongodb

我们如何在mongodb中编写查询,这等于内部select sql查询。

select field1, field2 
from workflowTable 
where id in(select idField from usersTable)

数据库的命中数应该相同。

2 个答案:

答案 0 :(得分:2)

我们认为你有3个文件。收集名称是用户。

   {
    "_id": ObjectId("4efa8d2b7d284dad101e4bc9"),
    "Last Name": "DUMONT",
    "First Name": "Jean",
    "alert":1,
    "Date of Birth": "01-22-1963"
},
{
    "_id": ObjectId("4efa8d2b7d284dad101e4bc7"),
    "Last Name": "PELLERIN",
    "First Name": "Franck",
    "alert":2,
    "Date of Birth": "09-19-1983",
    "Address": "1 chemin des Loges",
    "City": "VERSAILLES"
},
{
    "_id": ObjectId("4efa8d2b7d284dad101e4bc7"),
    "Last Name": "PELLERIN",
    "First Name": "Franck",
    "alert":3,
    "Date of Birth": "09-19-1983",
    "Address": {
        "Street": "1 chemin des Loges",
        "City": "VERSAILLES"
    }
}

在上面的文档中,我只想要2个文档,哪个列包含警报1和2.查询

db.users.find({alert:{$in:[1,2]}})

这将给我前两个文件。

答案 1 :(得分:0)

您可以在mongodb中使用$ in参数进行此查询。查看this教程以获取更多信息。