mongodb 编码格式 Detected BSON

UTF-8编码兼容性问题

如果有非UTF-8编码的数据用mongo扩展可以读出来,用mongodb扩展读可能会抛异常(Detected corrupt BSON data), 这种一方面需要进行数据修复,另一方面需要堵住入口,避免出现此类问题。这种问题一般是在客户端发送的消息、邮件里有特殊字符导致。

具体参考:https://github.com/mongodb/mongo-php-driver/pull/776

关于返回值的差异

mongodb扩展isAcknowledged返回true不是代表成功,只是标识网络是OK的

mongodb里成功可以根据update,insert,remove具体操作对应的getModifiedCount, getInsertedCount, getDeletedCount等具体数量判断。

mongo update判断更新成功(生效)updatedExisting,但是mongodb 判断update是否成功建议用getMatchedCount,不能用getModifiedCount。举例,如果更新的内容并没有导致变化,updatedExisting返回1,getModifiedCount返回0,getMatchedCount返回1。

WriteConcern

mongo扩展里这部分是在增删改查的接口里设置(insert,update,remove等),但是在mongodb扩展里,在MongoDBDriverWriteConcern里指定,然后作为executeBulkWrite的参数。

更新multiple VS multi

更新时,需要指定是否更新匹配的所有记录,如果设置为false,表示只更新匹配到的一行。这个坑很大,mongo扩展里指定字段名为multiple,而mongodb扩展里使用的字段是multi。

相关推荐
夏炳辉.40 分钟前
PostgreSQL 高可用集群核心配置参数全解:从原生流复制到 Patroni 企业级方案
数据库·postgresql
努力的小雨1 小时前
KES 开启 SSL 前,证书、端口和客户端要一起验
数据库
DevOps老兵2 小时前
AI全栈知识07:向量数据库 - Milvus/Chroma实战
数据库·ai·milvus
这个DBA有点耶2 小时前
当数据库从“存储”走向“决策”:金仓数据库的融合架构之路
数据库·架构·aigc
意疏3 小时前
2026年远控软件安全横评:六款主流工具逐项核查——官方文档、一手实测与安全事件,全摊开
大数据·前端·数据库
名不经传的养虾人3 小时前
从0到1:企业级AI项目迭代日记 Vol.90|Agent变快了,Judge定下来了
大数据·数据库·人工智能·ai编程·企业ai
冰之杍3 小时前
MySQL utf8mb3 → utf8mb4 完整修改方案
数据库·mysql
老纪的技术唠嗑局4 小时前
端侧智能爆火之后,为何模型反而不是主角了?
数据库·人工智能
这个DBA有点耶4 小时前
一文讲透数据库分类:关系型、非关系型、OLTP、OLAP、分布式、多模……
数据库·mysql·架构
Macbethad4 小时前
使用Rigol DHO924示波器连接上位机进行24小时波形数据记录的技术报告
数据库