以下是新入职场和有经验的开发人员在面试中经常被问到mongo面试问题。
Mongo-DB是一种提供高性能、高可用性和易于扩展的文档数据库。
MongoDB在集合中存储BSON(二进制交换和结构对象表示法)对象。集合名称和数据库名称的连接称为命名空间。
跨多台机器存储数据记录的过程称为分片。它是一种MongoDB方法,以满足数据增长的需求。它是数据库或搜索引擎中的数据的水平分区。每个分区都称为切分或数据库切分。
要查看Mongos使用的连接,请使用db_adminCommand(“connPoolStats”);
副本集是一组承载相同数据集的mongo实例。在副本集中,一个节点是主节点,另一个节点是辅助节点。从主节点到辅助节点,所有数据都进行复制。
跨多个服务器,同步数据的过程称为复制。它在不同的数据库服务器上提供数据的多个副本,从而提供冗余并提高数据可用性。复制有助于保护数据库不丢失单个服务器。
有几点需要考虑
根据用户需求设计模式
如果将对象组合在一起使用,则将它们组合到一个文档中。否则,将其分开
连接是在写的时候进行的,而不是在读取的时候进行的
对于大多数常见的用例,优化您的架构模式
在架构中进行复杂聚合
在MongoDB中创建集合的语法是db.createCollection(名称、选项)
在MongoDB中删除集合的语法是db.collection.drop()
MongoDB数据库分析器显示的是针对数据库的每个操作的性能特征,如果使用profiler查询时,比实际速度慢。
是的,可以移动moveChunk目录中的旧文件,在正常的碎片操作期间,这些文件作为备份,一旦操作完成就可以删除。
日志是MongoDB中可用于执行安全备份的功能。
Objectld由
时间戳
客户机ID
客户端进程ID
3字节递增计数器
用于插入文档命令语法的是database.collection.insert(文档)。
检查函数的源代码,不带任何括号,必须调用该函数。
命令语法Db.isMaster()将告诉您是否在主服务器上。MongoDB只允许一个主服务器,而couchDB允许多个主服务器。
索引是MongoDB中的特殊结构,它以易于遍历的形式存储一小部分数据集。索引按索引中指定的字段的值排序,存储特定字段或一组字段的值。
MongoDB中使用的基本语法是>
db.COLLECTION_NAME。ensureIndex ({KEY:1})。
在这里,键是文档中出现的列(或KEY:VALUE对)的名称。
为了存储和检索大文件,例如图像,视频文件和音频文件,使用GridFS。默认情况下,它使用两个文件fs.files和fs.chunks来存储文件的元数据和块。
Cassandra, CouchDB, Redis, Riak, Hbase都是不错的选择。

长按二维码 ▲
订阅「架构师小秘圈」公众号
如有启发,帮我点个在看,谢谢↓