内部選択SQLクエリに等しいmongodbでクエリを作成するにはどうすればよいですか。
select field1, field2
from workflowTable
where id in(select idField from usersTable)
データベースへのヒット数は同じである必要があります。
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"
}
}
上記のドキュメントでは、列にアラート1と2が含まれる2つのドキュメントのみが必要です。そのためのクエリ
db.users.find({alert:{$in:[1,2]}})
これにより、最初の 2 つのドキュメントが得られます。
このクエリには、mongodbの$inパラメーターを使用できます。詳細については、このチュートリアルを確認してください。