我曾经在SQL Server中有两个表:
Branch(branchNo, city)
Staff(branchNo, staffNo, staffName)
在SQL Server上,我可以查找特定城市的所有员工:
select staffName from Branch, Staff where
Branch.branchNo == Staff.branchNo AND city = 'a specific city'
现在在mongoDB中,我将两个表的内容放入一个集合中,我如何使用MapReduce来获得sql查询的相同效果?
数据导入错误。真的要看看MongoDB文档中尼尔链接到的数据建模。但我知道MongoDB可以混淆当你来自关系数据库背景。
我建议你在导出时加入数据
SELECT staffNo, staffName, branchNo, city FROM Branch, Staff
WHERE Branch.branchNo = Staff.branchNo
并将其放入MongoDB文档中,像这样:
{staffNo: "s001", staffName: "John", BranchNo: "B001", city:"NYC"}
(不确定branchNo
是有意义的还是只需要连接两个表。对于后一种情况,您可以省略它)。
那么查找一个城市的所有员工的查询只需输入
db.collection.find({"city": "NYC"})