MongoDB 中 $group 去重统计和 distinct 命令在能力和性能上差在哪?
MongoDB 中 $group 去重统计和 distinct 命令在能力和性能上差在哪? 本文先给出可直接复述的结论,再用最小代码说明MongoDB $group distinct 区别的工作方式、判断依据、项目边界和常见误区。
程序员面试题库第 53 页,收录第 2601–2650 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
MongoDB 中 $group 去重统计和 distinct 命令在能力和性能上差在哪? 本文先给出可直接复述的结论,再用最小代码说明MongoDB $group distinct 区别的工作方式、判断依据、项目边界和常见误区。
MongoDB 哈希分片和范围分片在数据分布与范围查询上各牺牲了什么? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 哈希分片 范围分片的工作方式、判断依据、项目边界和常见误区。
MongoDB 4.2 之后优化的索引构建方式相比旧版减少了什么阻塞? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 索引构建 rolling index build 阻塞的工作方式、判断依据、项目边界和常见误区。
MongoDB 的索引交集何时会触发,为什么不能依赖它替代复合索引? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 索引交集 index intersection的工作方式、判断依据、项目边界和常见误区。
MongoDB 聚合 $lookup 做关联时哪些写法会导致性能急剧下降? 本文先给出可直接复述的结论,再用最小代码说明MongoDB $lookup 性能 关联查询的工作方式、判断依据、项目边界和常见误区。
MongoDB 官方为什么建议用聚合管道替代 map-reduce? 本文先给出可直接复述的结论,再用最小代码说明MongoDB map-reduce 弃用 聚合管道的工作方式、判断依据、项目边界和常见误区。
MongoDB 多文档事务有哪些时间、锁和写入量上的限制? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 多文档事务 限制 60秒的工作方式、判断依据、项目边界和常见误区。
MongoDB 对数组字段建索引时多键索引的行为和限制是什么? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 多键索引 数组索引的工作方式、判断依据、项目边界和常见误区。
MongoDB 建模一对多关系时,数组嵌入和子集合引用各自的边界是什么? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 一对多 数据建模的工作方式、判断依据、项目边界和常见误区。
MongoDB readConcern 的 local、majority、linearizable 在读到已提交数据上差别是什么? 本文先给出可直接复述的结论,再用最小代码说明MongoDB readConcern 级别 读已提交的工作方式、判断依据、项目边界和常见误区。
MongoDB readPreference 设为 secondary 时如何保证读到的数据不太旧? 本文先给出可直接复述的结论,再用最小代码说明MongoDB readPreference secondary 数据延迟 maxStalenessSeconds的工作方式、判断依据、项目边界和常见误区。
MongoDB 副本集主节点宕机时选举如何触发,期间写入会怎样? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 副本集选举 failover 写入不可用的工作方式、判断依据、项目边界和常见误区。
MongoDB 无固定 schema 下做字段演进,如何避免新旧文档混读出错? 本文先给出可直接复述的结论,再用最小代码说明MongoDB schema 演进 字段迁移的工作方式、判断依据、项目边界和常见误区。
MongoDB 的 JSON Schema 校验器和应用层校验各自能保证什么? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 模式验证 JSON Schema validator的工作方式、判断依据、项目边界和常见误区。
MongoDB 选择分片键时基数、频率、单调性三个维度如何权衡? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 分片键选择 cardinality jumbo chunk的工作方式、判断依据、项目边界和常见误区。
MongoDB 单文档原子性具体覆盖哪些操作,为什么跨文档更新需要事务? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 单文档原子性 多文档事务的工作方式、判断依据、项目边界和常见误区。
MongoDB 单字段索引在区分度低的字段上为什么收益有限? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 索引选择性 区分度的工作方式、判断依据、项目边界和常见误区。
MongoDB 排序超过内存限制报错的机制和解决方案是什么? 本文先给出可直接复述的结论,再用最小代码说明MongoDB sort exceeded memory limit 100MB的工作方式、判断依据、项目边界和常见误区。
MongoDB 文本索引支持哪些查询能力,为什么一个集合只能有一个文本索引? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 文本索引 text index 搜索的工作方式、判断依据、项目边界和常见误区。
MongoDB 事务中读写冲突时会报错还是阻塞,应用该如何重试? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 事务 写冲突 TransientTransactionError 重试的工作方式、判断依据、项目边界和常见误区。
MongoDB 事务的快照隔离与传统关系型数据库的隔离级别有什么不同? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 事务 隔离级别 snapshot isolation的工作方式、判断依据、项目边界和常见误区。
MongoDB TTL 索引过期删除是实时的吗,延迟来自哪里? 本文先给出可直接复述的结论,再用最小代码说明MongoDB TTL 索引 过期删除的工作方式、判断依据、项目边界和常见误区。
MongoDB 聚合 $unwind 拆分数组时对空数组和缺失字段的默认行为是什么? 本文先给出可直接复述的结论,再用最小代码说明MongoDB $unwind 空数组 preserveNullAndEmptyArrays的工作方式、判断依据、项目边界和常见误区。
在 MongoDB 中什么信号说明应该重构 schema 而不是依赖多文档事务? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 何时避免事务 schema 重构的工作方式、判断依据、项目边界和常见误区。
MongoDB 通配符索引适合什么动态字段场景,有哪些类型不支持? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 通配符索引 wildcard index的工作方式、判断依据、项目边界和常见误区。
MongoDB writeConcern 的 w:1、w:majority、journaled 分别保证什么持久性? 本文先给出可直接复述的结论,再用最小代码说明MongoDB writeConcern 持久性 majority的工作方式、判断依据、项目边界和常见误区。
NestJS 中如何注册依赖异步初始化(如数据库连接)的 Provider? 本文先给出可直接复述的结论,再用最小代码说明NestJS 异步 Provider useFactory async的工作方式、判断依据、项目边界和常见误区。
NestJS 的 beforeApplicationShutdown 钩子在停机流程中处于什么位置? 本文先给出可直接复述的结论,再用最小代码说明NestJS beforeApplicationShutdown 停机信号的工作方式、判断依据、项目边界和常见误区。
NestJS 内置的 ParseIntPipe、ParseBoolPipe 等解析管道失败时行为是什么? 本文先给出可直接复述的结论,再用最小代码说明NestJS 内置管道 ParseIntPipe的工作方式、判断依据、项目边界和常见误区。
NestJS 中两个模块或类循环依赖时如何用 forwardRef 解决? 本文先给出可直接复述的结论,再用最小代码说明NestJS 循环依赖 forwardRef的工作方式、判断依据、项目边界和常见误区。
NestJS 中 ValidationPipe 如何配合 class-validator 的 DTO 做请求体校验? 本文先给出可直接复述的结论,再用最小代码说明NestJS ValidationPipe class-validator DTO的工作方式、判断依据、项目边界和常见误区。
NestJS 的 ConfigurableModuleBuilder 相比手写 forRoot 有什么优势? 本文先给出可直接复述的结论,再用最小代码说明NestJS ConfigurableModuleBuilder 动态模块的工作方式、判断依据、项目边界和常见误区。
如何为 NestJS 编写一个把字符串 ID 转换为实体对象的自定义管道? 本文先给出可直接复述的结论,再用最小代码说明NestJS 自定义管道 实体转换的工作方式、判断依据、项目边界和常见误区。
NestJS 自定义 Provider 的 useClass、useValue、useFactory、useExisting 分别适合什么场景? 本文先给出可直接复述的结论,再用最小代码说明NestJS useClass useValue useFactory useExisting的工作方式、判断依据、项目边界和常见误区。
NestJS 动态模块的 forRoot/forFeature 约定解决了什么问题? 本文先给出可直接复述的结论,再用最小代码说明NestJS 动态模块 forRoot forFeature的工作方式、判断依据、项目边界和常见误区。
NestJS 的 ExecutionContext 如何统一 HTTP、WebSocket 和微服务上下文? 本文先给出可直接复述的结论,再用最小代码说明NestJS ExecutionContext ArgumentsHost 多上下文的工作方式、判断依据、项目边界和常见误区。
全局注册 NestJS 认证守卫后如何让某些路由跳过认证? 本文先给出可直接复述的结论,再用最小代码说明NestJS 全局守卫 @Public 跳过认证的工作方式、判断依据、项目边界和常见误区。
NestJS 中 @Global() 全局模块的适用场景和滥用风险是什么? 本文先给出可直接复述的结论,再用最小代码说明NestJS @Global 全局模块 滥用的工作方式、判断依据、项目边界和常见误区。
NestJS 管道绑定在全局、控制器、方法、参数四个级别有何区别? 本文先给出可直接复述的结论,再用最小代码说明NestJS 管道 作用范围 全局 参数级的工作方式、判断依据、项目边界和常见误区。
为什么 NestJS 守卫设计为在拦截器之后、管道之前执行? 本文先给出可直接复述的结论,再用最小代码说明NestJS 守卫 执行顺序 管道 拦截器 原因的工作方式、判断依据、项目边界和常见误区。
NestJS 守卫的 canActivate 如何通过 ExecutionContext 判断放行? 本文先给出可直接复述的结论,再用最小代码说明NestJS Guard canActivate ExecutionContext的工作方式、判断依据、项目边界和常见误区。
NestJS 守卫和 Express 中间件在职责上如何分工? 本文先给出可直接复述的结论,再用最小代码说明NestJS Guard 中间件 区别的工作方式、判断依据、项目边界和常见误区。
NestJS 中什么时候必须用 @Inject() 装饰器显式注入? 本文先给出可直接复述的结论,再用最小代码说明NestJS @Inject 装饰器 自定义 token的工作方式、判断依据、项目边界和常见误区。
NestJS 拦截器在控制器级、方法级和全局级注册各有什么影响? 本文先给出可直接复述的结论,再用最小代码说明NestJS 拦截器 注册级别 APP_INTERCEPTOR的工作方式、判断依据、项目边界和常见误区。
NestJS 拦截器适合实现日志耗时统计与响应缓存的理由是什么? 本文先给出可直接复述的结论,再用最小代码说明NestJS 拦截器 日志 缓存 CacheInterceptor的工作方式、判断依据、项目边界和常见误区。
如何用 NestJS 拦截器统一捕获并映射下游抛出的异常? 本文先给出可直接复述的结论,再用最小代码说明NestJS 拦截器 catchError 异常映射的工作方式、判断依据、项目边界和常见误区。
NestJS 拦截器如何用 RxJS 操作符统一包装响应格式? 本文先给出可直接复述的结论,再用最小代码说明NestJS 拦截器 RxJS map 统一响应的工作方式、判断依据、项目边界和常见误区。
NestJS 请求经过中间件、守卫、拦截器、管道的执行顺序是什么? 本文先给出可直接复述的结论,再用最小代码说明NestJS 请求生命周期 执行顺序 中间件 守卫 拦截器 管道的工作方式、判断依据、项目边界和常见误区。
NestJS 中基于 Passport 的 JWT 认证守卫如何与 @UseGuards 结合? 本文先给出可直接复述的结论,再用最小代码说明NestJS JWT AuthGuard Passport的工作方式、判断依据、项目边界和常见误区。
NestJS 的懒加载模块适合什么场景,如何实现? 本文先给出可直接复述的结论,再用最小代码说明NestJS 懒加载模块 LazyModuleLoader的工作方式、判断依据、项目边界和常见误区。