MongoDB的使用说明

简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

  1. NoSQL特点
  2. 代表着不仅仅是SQL(Not Only SQL)
  3. 键值对存储,列存储,文档存储,图形数据库
  4. 最终一致性,而非ACID属性
  5. 非结构化和不可预知的数据
  6. CAP定理(!!) 高性能,高可用性和可伸缩性
  7. MongoDB概念

1.SQL术语对比

SQL术语/概念 MongoDB术语/概念 解释/说明

database database 数据库

table collection 数据库表/集合

row document 数据记录行/文档

column field 数据字段/域

index index 索引

table joins表连接,MongoDB不支持

primary keyprimary key主键,MongoDB自动将_id字段设置为主键

2.SQL条件对比

操作 格式 范例 RDBMS中的类似语句

等于{<key>:<value>}db.col.find({"by":"ahh"}).pretty()where by = 'ahh'

小于{<key>:{$lt:<value>}}db.col.find({"likes":{$lt:50}}).pretty()where likes < 50

小于或等于{<key>:{$lte:<value>}}db.col.find({"likes":{$lte:50}}).pretty()where likes <= 50

大于{<key>:{$gt:<value>}}db.col.find({"likes":{$gt:50}}).pretty()where likes > 50

大于或等于{<key>:{$gte:<value>}}db.col.find({"likes":{$gte:50}}).pretty()where likes >= 50

不等于{<key>:{$ne:<value>}}db.col.find({"likes":{$ne:50}}).pretty()where likes != 50

基本语句

数据库操作

  • 创建数据库:use DATABASE_NAME
  • 查看数据库:show dbs
  • 删除数据库:db.dropDatabase()

集合操作

  • 创建集合:db.createCollection(COLLECTION_NAME)
  • 查看集合:show collections
  • 删除集合:db.COLLECTION_NAME.drop()

文档操作

  • 插入文档:db.COLLECTION_NAME.insert(document)
  • 查看文档:db.COLLECTION_NAME.find(query, projection)
  • 更新文档:db.COLLECTION_NAME.update(document) /db.COLLECTION_NAME.save(document)
  • 删除文档:db.COLLECTION_NAME.remove(document)

其他

  • limit()、skip()、sort()、创建索引:ensureIndex() 聚合
  • db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)

应用场景

日志分析
存储用户不敏感信息、评论信息
工单系统
事务性不强,读频繁…

备注

CAP:

CAP
一致性(Consistency) (所有节点在同一时间具有相同的数据)
可用性(Availability) (保证每个请求不管成功或者失败都有响应)
分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

参考

猜你喜欢

转载自blog.csdn.net/qq_43475097/article/details/89361142