- 博客(110)
- 收藏
- 关注
原创 怎么对MongoDB数据进行批量部分更新_BulkWrite机制与性能优化
bulkWrite 把所有操作打包成一个 BSON 文档发送服务端对同集合的多个更新操作可能共用同一个索引扫描结果,而分散调用会重复走索引如果混入大量不匹配的 filter(比如查不到文档),bulkWrite 仍要解析每条指令,此时性能优势收窄甚至反转updateMany 和 bulkWrite 在部分字段更新时的区别updateMany 只能对整个匹配集统一应用同一套更新操作;必须用 bulkWrite,updateMany 做不到updateMany 的 $set 是静态的;
2026-05-18 22:56:17
166
原创 Inject 注入全局配置如何实现局部覆盖?灵活的依赖注入系统
通过作用域(Scope)隔离局部配置多数现代 DI 容器(如 Angular、NestJS、Autofac、Spring)支持作用域机制。全局注册的服务可设为 Singleton,而局部覆盖则通过创建子容器或作用域容器完成:在需要定制行为的模块/请求/组件初始化时,新建一个子 Injector 或 Scope 在该作用域内重新 provide 同一 token(如 Class、InjectionToken、Symbol),传入新实例或工厂函数 子作用域内注入该 token 时,优先使用本地提供的实现;
2026-05-17 19:37:00
165
原创 打印时隐藏元素_print样式display-none技巧【操作】
打印时用 @media print 隐藏元素最可靠直接在普通 CSS 里写 display: none 会永久隐藏,打印时也不显示——这不是“隐藏打印内容”,而是“彻底不渲染”。常见错误是把打印样式写成全局规则,比如:.no-print { display: none;important 是为了覆盖可能存在的内联样式或高权重规则类名建议统一用 no-print 或 print-hidden,避免和业务类名冲突visibility: hidden 和 display: none 在打印中效果一样?
2026-05-17 19:35:55
212
原创 Go 中为自定义切片类型添加方法并支持 append 操作的正确实践
在 Go 中,可通过将底层切片类型(如 []*MyType)定义为命名类型(如 type MyTypes []*MyType),为其添加方法;在 go 中,可通过将底层切片类型(如 `[]*mytype`)定义为命名类型(如 `type mytypes []*mytype`),为其添加方法;关键在于**方法接收者和构造函数应使用值类型而非指针**,以保持与原生切片语义一致,从而直接使用 `append` 并兼容 json 序列化。核心误区在于:误用指针接收者或指针返回值破坏了切片的可变性与兼容性。
2026-05-17 19:34:49
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅