【发布时间】:2020-09-18 09:10:21
【问题描述】:
在MongoDB中我们可以执行下面写好的查询吗?
db.dbaname.find(userName:"abc").aggregate([])
还有其他方法可以一起执行 CRUD 和聚合查询。
【问题讨论】:
-
这两个是独立的函数,你不能链接它们!
标签: mongodb mongoose mongodb-query aggregation-framework
在MongoDB中我们可以执行下面写好的查询吗?
db.dbaname.find(userName:"abc").aggregate([])
还有其他方法可以一起执行 CRUD 和聚合查询。
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework
简短回答 - 不,你不能这样做:.find(userName:"abc").aggregate([])
aggregation-pipeline 大量用于reads,它与.find() 非常相似,但能够在多个stages 和许多aggregation-operators 的帮助下执行复杂的查询。聚合中只有两个阶段 $out 和 $merge 可以执行对数据库的写入 - 与其他阶段相比,这些阶段的使用并不多,仅在需要时才需要使用,因为它们需要是聚合的最后阶段管道,那么之前的所有阶段都将被很好地测试。因此,当谈到 CRUD 消除 CUD 时,您将比 R 受益 - 阅读。
同样的.find(userName:"abc")可以写成:
.aggregate( [ { $match : { userName:"abc"} } ] ) // Using `$match` stage
【讨论】: