使用Aggregation $out创建集合后,mongosh查询报TypeError求助
问题解决建议
核心原因
stats是MongoDB数据库对象(db)的内置方法,用于返回当前数据库的统计信息。当你在mongosh中执行db.stats时,shell会优先调用这个内置方法,而非你创建的同名集合,因此会抛出findOne is not a function的错误。
解决方案
- 方法一:明确指定集合
使用db.getCollection()方法精准定位你的集合,避开和内置方法的冲突:db.getCollection("stats").findOne() - 方法二:重命名集合
给集合改一个不会和内置方法重名的名称,比如:
之后就可以正常用db.stats.renameCollection("app_stats")db.app_stats.findOne()操作集合了。
关于聚合管道group阶段的说明
聚合管道中$group阶段不在首位,不会引发这个报错,也不影响物化视图生成的集合正常使用,你的问题和管道顺序无关。
内容的提问来源于stack exchange,提问作者abischolz
相关产品推荐
相关产品推荐

