MongDB语法与快速入门
一、MongDB简介
1.概念
MongoDB是一个开源的文档型NoSQL数据库,它支持的数据模型是面向文档的,使用了类似JSON的BSON(二进制JSON)格式来存储数据,且提供了动态查询和索引功能。它的出现解决了传统关系型数据库在分布式存储和大规模数据****处理上的瓶颈问题。
MongoDB具有以下特点:
-
高可用性:通过复制集(replica set)和分片集群(sharding)机制来保证数据的高可用性和横向扩展性。
-
灵活性:MongoDB是面向文档的数据库,不需要固定的表结构,文档可以自由地插入、删除、修改,更加符合实际开发需要。
-
高性能:MongoDB使用内存映射存储引擎,能够更快地处理海量数据,同时还支持水平扩展。
-
安全性:MongoDB支持SSL/TLS协议进行数据传输,同时也支持RBAC(基于角色的访问控制)等安全机制。
-
易用性:MongoDB提供了易用的命令行和GUI管理工具,可以帮助用户快速上手使用。
-
开放性:MongoDB是一个开源项目,具有很高的可定制性和可扩展性。
在应用开发中,MongoDB通常用于数据存储、分析和处理。与传统关系型数据库相比,MongoDB能够更好地应对数据量大、数据结构复杂、数据类型多样的场景,可以提供更高效、更灵活的数据存储和查询方案。
二、语法
MongoDB 数据库中的数据是以文档形式存储,文档中可以嵌套子文档和数组
- 连接数据库
mongo --host <hostname> --port <portnumber>
- 创建数据库
use <database_name>
- 创建集合
db.createCollection("<collection_name>")
- 插入文档
db.<collection_name>.insert(<document>)
示例:
db.users.insert({name: "Alice", age: 20})
- 查询文档
db.<collection_name>.find(<query>)
示例:
db.users.find({name: "Alice"})
- 更新文档
db.<collection_name>.update(<query>, <update>)
示例:
db.users.update({name: "Alice"}, {$set: {age: 25}})
- 删除文档
db.<collection_name>.remove(<query>)
示例:
db.users.remove({name: "Alice"})
- 聚合查询
db.<collection_name>.aggregate(<pipeline>)
示例:
db.sales.aggregate([
{$match: {date: {$gte: ISODate("2018-01-01")}}},
{$group: {_id: "$product", total_sales: {$sum: "$quantity"}}},
{$sort: {total_sales: -1}},
{$limit: 10}
])
本文来自博客园,作者:手可敲星辰脚驾七彩云,转载请注明原文链接:https://www.cnblogs.com/arek/p/17255188.html,谢谢!