MongoDB基本使用安装 创建数据库,表的基本操作

MongoDB基本使用

MongoDB是一种文档导向数据库管理系统,由C++撰写而成。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

1.安装

开源版下载地址 https://www.mongodb.com/try/download/community

菜鸟教程 https://www.runoob.com/mongodb/mongodb-tutorial.html

配置环境变量:将MongoDB的bin目录添加到系统环境变量中 D:\software\MongoDB\bin

2.基本使用

# 进入mongo
mongo
# 查看现有数据库
show dbs

2.1数据库创建和删除

注意:在创建数据库时,必须插入最少一条数据才能真正创建成功,不然执行show dbs命令,查询不到新创建的数据库。

# 创建数据库
use test1
# 删除数据库
## 首先要切换到要删除的数据库
use test1
# 删除
db.dropDatabase()
# 查看现有数据库
show dbs

2.2 集合的创建和删除

db.createCollection(name, options)

  • name: 集合名称
  • options:可选参数,指定有关内存大小及索引的选项

db.collection.find() 查看集合中的数据。

 # 创建集合
 db.createCollection("coll1")
 # 查看集合
 show collections
 # 删除集合
 ## 切换到当前库
 use test1
 ## 删除
 db.coll1.drop() # 删除 coll1 集合
 # 查看集合
 show collections
 
 # 清空集合
 db.col.remove({})

2.3条件查询

db.coll.find({"age": {$gt: 20}}) 查看年龄大于20岁的。

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte

2.4 Limit()方法和Skip() 方法

  • limit() 读取指定数量的数据记录

    db.COLLECTION_NAME.find().limit(NUMBER)
    
  • skip() 跳过指定数量的数据

    db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
    

例子

# 查询 前10条数据,查询结果只显示name列
db.coll.find({}, {"name": 1}).limit(10)
# 查询 索引2开始的3条数据
db.coll.find().limit(3).skip(2)

2.5 sort() 方法

sort() 方法可以通过参数指定排序的字段,并使用 1-1 来指定排序的方式,其中1 为升序排列,而 -1 是用于降序排列。

db.COLLECTION_NAME.find().sort({KEY:1})

# 按 age 字段进行升序排序
db.coll.find().sort({age:1})

2.6 文档的插入更新删除

文档的数据结构和 JSON 基本一样。

所有存储在集合中的数据都是 BSON 格式。

BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

2.6.1 插入:

db.COLLECTION_NAME.insert(document)
# 或
db.COLLECTION_NAME.save(document)
  • save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.insertOne()db.collection.replaceOne() 来代替。

  • insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

3.2 版本之后新增了 db.collection.insertOne() 和 db.collection.insertMany()。

# db.collection.insertOne
db.collection.insertOne(
   <document>,
   {
      writeConcern: <document>
   }
)

# db.collection.insertMany
db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

参数说明:

  • document:要写入的文档。
  • writeConcern:写入策略,默认为 1,即要求确认写操作,0是不要求。
  • ordered:指定是否按顺序写入,默认 true,按顺序写入。

2.6.2 更新文档

MongoDB 使用 update()save() 方法来更新集合中的文档。接下来让我们详细来看下两个函数的应用及其区别。

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

例子:

 # 将名字为 zhangsan的age改成20 
 db.coll.update({name: "zhangsan"},{$set:{age: 20}})
 # 将name为zhangsan111的name改成 zhangsan
 db.coll.update({name: "zhangsan111"},{$set:{name: "zhangsan"}})

2.6.3 删除文档

 # 删除 age为20的数据
 db.coll.remove({age: 20})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值