MongoDB-经常使用命令

MongoDB介绍

MongoDB是一个基于分布式文件存储的数据库。由 C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于 关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构很是松散,是相似 jsonbson格式,所以能够存储比较复杂的数据类型。Mongo最大的特色是它支持的查询语言很是强大,其语法有点相似于面向对象的查询语言,几乎能够实现相似关系数据库单表查询的绝大部分功能,并且还支持对数据创建 索引

特色

它的特色是高性能、易部署、易使用,存储数据很是方便。主要功能特性有:
*面向集合存储,易存储对象类型的数据。
mongodb集群参考
*模式自由。
*支持动态 查询
*支持彻底索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持 RUBYPYTHONJAVAC++PHPC#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可经过 网络访问。

数据模型

一个MongoDB 实例能够包含一组数据库,一个DataBase 能够包含一组Collection(集合),一个集合能够包含一组Document(文档)。一个Document包含一组field(字段),每个字段都是一个key/value pair。
key: 必须为字符串类型。
value:能够包含以下类型。
  • 基本类型,例如,string,int,float,timestamp,binary 等类型。
  • 一个document。
  • 数组类型。

经常使用命令

基本经常使用命令

# 查看当前使用的数据库
db
# 查看当前服务器磁盘上的全部数据库
show databases
# 切换当前使用的数据库,该库不存在表明建立该库
use dbname
# 查看当前数据库中磁盘上的全部表
show tables
# 使用当前数据库中的tablename表在内存中建立表
db.tablename

增删改查

使用了不存在的对象,就表明建立对象,mongodb

# 建立数据库并使用该数据库
use s20
# 建立表
db.stutent
# 往表中添加数据【官方不在推荐使用】
db.stutent.insert({name:"henry"}) # 添加一条数据
db.stutent.insert([{name:"henry"},{name:"egon"}]) # 添加多条数据
#【官方推荐】
db.stutent.instrtOne({name:"henry"})  # 添加单挑数据
db.stutent.insertMany([{name:"小漩涡"},{name:"500ml"}])

# 查看全部数据
db.tablename.find()
# 查看符合条件的全部数据
db.tablename.find({name:"小漩涡"})
# 【官方推荐】在3.2中加的新方法 返回值为json数据
db.tablename.findOne({name:"henry"}) # 查询出符合条件的第一条数据

# 修改内容须要用修改器$set
# 根据查询条件,修改符合条件的第一条数据【官方不在推荐使用】
db.tablename.update({查询条件},{$修改器:{修改属性}}) 
db.stutent.update({name:"henry"},{$set:{age:16}}) # 没有age就建立有就修改
# 【官方推荐】
db.stutent.updateOne({name:"henry"},{$set:{sex:"male"}}) # 修改一条数据
db.stutent.updateMany({name:"henry"},{$set:{sex:"female",hobby:"喝酒"}}) # 修改符合条件的全部数据

# 删除全部符合条件的数据【官方不在推荐使用】
db.tablename.remove({查询条件})
# 删除表
db.tablename.drop()
# 删除库
db.dropDatabase()
#【官方推荐】
db.tablename.deleteOne() # 删除符合条件的第一条数据
db.tablename.deleteMany() # 删除全部符合条件的数据
相关文章
相关标签/搜索