假设您有一组文档,其结构如下:
{ username: "jones",
likes: 20,
text: "Hello world!"
}
此外,假设您正在构建的应用程序需要显示每个用户的喜欢总数的统计信息。Mongodb 文档显示您可以使用以下 Map/Reduce 函数来完成此操作:
function() {
emit( this.username, {count: 1, likes: this.likes} );
}
但是,对我来说,每次将新文档插入数据库时简单地增加一个“Like”计数器似乎更直观。这不需要像 Map/Reduce 那样遍历整个集合。它会立即更新计数器,而不是在下次 Map/Reduce 进程运行时更新。而且架构看起来更简单。
有人可以在答案中解释为什么 Map/Reduce 函数是更好的解决方案吗?