MongoDB相关

目录

简介

特点

常用命令


简介

基于分布式文件存储的开源数据库,由C++语言编写

文档型数据库,NoSQL数据库的一种

一行表示一条记录,一列表示一种属性

数据库由多个集合组成,集合对应MySQL的表,集合包含多个文档,文档对应MySQL的行

文档使用BSON(Binary JSON)格式编写

特点

  • 无需事先创建好数据库和集合
  • 无需预先定义集合中字段的类型和长度
  • 同一集合中的数据无需相同的结构

常用命令

数据库相关命令
查看所有数据库:show dbs
使用或创建数据库:use <database_name>
查看当前使用的数据库:db

集合相关命令
查看所有集合:show collections
创建集合:db.createCollection('test')
删除集合:db.test.drop()

文档操作命令
插入单个文档:db.test.insertOne(<document>)
插入多个文档:db.test.insertMany([<document1>, <document2>, ...])
查询所有数据:db.test.find()
查询单个数据:db.test.findOne(<query>)
更新单个文档:db.test.updateOne(<query>, <update>)
更新多个文档:db.test.updateMany(<query>, <update>)
替换单个文档:db.test.replaceOne(<query>, <replacement>)
删除单个文档:db.test.deleteOne(<query>)
删除多个文档:db.test.deleteMany(<query>)

索引操作命令
创建索引:db.test.createIndex({<field>: <type>})
查看索引:db.test.getIndexes()
删除索引:db.test.dropIndex('<index_name>')

聚合操作命令
聚合查询:
db.<collection_name>.aggregate([
    { $match: { <criteria> } },
    { $group: { _id: "$<field>", total: { $sum: "$<field>" } } },
    { $sort: { total: -1 } }
])

其他命令
统计集合中的文档数量:db.test.countDocuments(<query>)
查看集合的统计信息:db.test.stats()
查看数据库状态:db.stats()
选择切换数据库:use articledb
查询符合条件的前几条记录:db.test.find({条件}).limit(条数)
查询符合条件的跳过的记录:db.test.find({条件}).skip(条数)
修改数据:db.test.update({条件},{修改后的数据}) 或db.test.update({条件},{$set:{要修改部分的字段:数据})
修改数据并自增某字段值:db.test.update({条件},{$inc:{自增的字段:步进值}})
删除数据:db.test.remove({条件})
统计查询:db.test.count({条件})
模糊查询:db.test.find({字段名:/正则表达式/})
条件比较运算:db.test.find({字段名:{$gt:值}})
包含查询:db.test.find({字段名:{$in:[值1,值2]}})或db.test.find({字段名:{$nin:[值1,值2]}})
条件连接查询:db.test.find({$and:[{条件1},{条件2}]})或db.test.find({$or:[{条件1},{条件2}]})

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些MongoDB相关的面试题及其答案: 1. MongoDB是什么?它与传统的关系型数据库有什么不同之处? 答:MongoDB是一个开源的文档数据库,它使用类似JSON的文档格式存储数据。与传统的关系型数据库相比,MongoDB具有更高的可扩展性和更好的性能。 2. MongoDB中的分片是什么?它们是如何工作的? 答:分片是MongoDB中的一种横向扩展方式,它将数据分散到多个服务器上。每个分片都是一个独立的MongoDB实例,它们共同组成了一个分片集群。当数据量增加时,可以通过添加更多的分片来扩展MongoDB的性能。 3. MongoDB中的索引是什么?它们是如何工作的? 答:索引是MongoDB中用于加速查询的一种机制。MongoDB支持多种类型的索引,包括单字段索引、复合索引、全文索引等。当查询需要访问大量数据时,索引可以帮助MongoDB快速定位需要的数据。 4. MongoDB中的聚合管道是什么?它们是如何工作的? 答:聚合管道是MongoDB中用于对数据进行聚合操作的一种机制。聚合管道由多个阶段组成,每个阶段都可以对数据进行不同的操作,例如过滤、排序、分组等。当需要对大量数据进行复杂的聚合操作时,聚合管道可以帮助MongoDB高效地完成任务。 5. MongoDB中的事务是什么?它们是如何工作的? 答:事务是MongoDB中用于保证数据一致性的一种机制。MongoDB支持多文档事务,可以在多个文档之间执行原子操作。当需要对多个文档进行复杂的操作时,事务可以帮助MongoDB保证数据的一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值