我正在学习如何使用MongoDB作为应用程序的后端,该应用程序需要用户以一定的频率从服务器获取数据,并注意到聚合框架似乎相当强大。
事实上,它是如此强大,以至于我怀疑它是否完全消除了我使用find()和updateMany()的必要性,以及其他运营商,考虑到.aggregate()似乎具有几乎所有其他功能的功能。
拥有这些不同的系统有什么意义?一个比另一个快吗?为什么不单独拥有.aggregate()管道框架呢?
最重要的是,何时可以知道何时使用聚合管道,以及何时使用更简单的.find()和.update()函数?
感谢您的帮助,了解这一切!
发布于 2019-09-19 05:57:19
查找
1)利用查询实现了从MongoDB数据库中获取或获取数据的方法。
2)在执行查询操作时,还可以使用标准的条件从数据库中检索特定的数据。
3) MongoDB提供了一个名为db.collection.find ()的函数,用于从MongoDB数据库检索文档。
使用:-获取结果而不做太多更改
Mysql示例:- Select * from users where first_name= "John"
聚合
1)聚合操作处理数据记录并返回计算结果。
2)从多个文档中聚合操作组值,并可以对分组数据执行各种操作以返回单个结果。
3)集合是一组函数,允许您操作从MongoDB查询返回的数据。
4)聚合函数对集合中的记录进行分组,并可用于提供所选组的总数(和)、平均值、最小值、最大值等。
我知道所有的点导致您只得出一个点,即处理数据记录和返回计算的结果。哦,不,这也是第一点。
使用:-按标准要求操作数据使用聚合(和、计数、平均值、组等),例如mysql,Mysql示例:- SELECT user.*, count(*) FROM orders GROUP BY role; (or use joins)
更新
同样重要的是,查找和更新不是更简单的.find()函数,而是用于获取数据的.update()函数,用于将来数据的操作/更新/更改。
使用:-用于更新或更改数据(即。当用户想要将用户名从"John“更改为”Jack“时) Mysql示例:- UPDATE users SET first_name = 'Jack' WHERE first_name = 'John';
https://stackoverflow.com/questions/58001917
复制相似问题