MongoDB 高可用架构: 副本(ReplicaSet)/分片(Sharding)集群是什么回事

前戏 小白:嗨,老花,我听说 MongoDB 挺火的,但我对它不是很了解。你能给我讲讲 MongoDB 是啥,它和 MySQL 这样的 SQL 数据库有啥不同吗? 老花:当然可以!MongoDB 是一种 NoSQL 数据库,它以文档存储的形式存储数据,这使得它在处理大量半结构化数据时非常灵活和高效。与 MySQL 这样的关系型数据库相比,MongoDB 不需要预定义的模式,支持动态字段,这对于快速发展和频繁变更的数据模型来说是一个很大的优势。 以下是 MySQL 和 MongoDB 进行增删改查操作的基本 SQL 语句和命令的对比: MySQL CRUD INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); DELETE FROM table_name WHERE condition; UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; SELECT column1, column2, ... FROM table_name WHERE condition; MongoDB CRUD db.collection_name.insert({ field1: value1, field2: value2, field3: value3, ... }); db.collection_name.insertMany([ { field1: value1, field2: value2, field3: value3, ... }, { field1: value1, field2: value2, field3: value3, ... }, ... ]); db.collection_name.remove({ condition: value }); db.collection_name.deleteMany({ condition: value }); db.collection_name.update( { <filter> }, { $set: { <field1>: <value1>, <field2>: <value2>, ... } }, { multi: <boolean> } ); db.collection_name.find({ field: value }); 在 MongoDB 中,<filter> 是查询条件,<field1> 和 <value1> 是要更新的字段和值,multi 参数是一个布尔值,如果设置为 true,则更新所有匹配的文档,否则只更新第一个匹配的文档。 ...

十一月 22, 2024 · 2 分钟 · 362 字 · zhu733756