我正在为项目选择数据库,并且是NoSQL世界的新成员。我不确定是否可以使用NoSQL完成我们要运行的查询之一。我认为我的思想只是无法完成查询。 :)通过外部密钥对MongoDB分组进行映射/减少
我对map/reduce非常感兴趣,这就是为什么我试图推动使用NoSQL数据库。
我有两个集合。一个用于设备,一个用于消息。
[{
deviceId: 1,
uuid: "30be317c-e586-4448-8fed-1a9481710670"
}, {
deviceId: 1,
uuid: "9878917c-e586-4448-8fed-1a9481710670"
}, {
deviceId: 3,
uuid: "as2e317c-e586-9878-8fed-1a9481710670"
}]
[{
uuid: "30be317c-e586-4448-8fed-1a9481710670",
message: "Hello world",
}, {
uuid: "9878917c-e586-4448-8fed-1a9481710670",
message: "Bonjour monde",
}, {
uuid: "as2e317c-e586-9878-8fed-1a9481710670",
message: "Hola Mundo",
}]
现在我想运行的map/reduce命令,并通过他们的deviceId
分组的消息。在这个例子中,“Hello World”和“Bonjour Monde”应该使用相同的密钥进行分组。我想不出在map()方法中将它们分组的方法。
请注意,数据现在存储在文件中,因此我不会限制在MongoDB中的研究。这是我选择的第一个,因为应用程序中的几乎所有东西都使用JSON。