MongoDB 常用命令汇总

MongoDB 常用命令汇总

    • mongodb数据库结构与传统关系型数据库对比
    • MongoDB 创建数据库
      • 创建/切换数据库
      • 查看当前数据库名称
      • 查看所有数据库
    • 删MongoDB 除数据库
      • 删除集合
    • MongoDB 插入文档
      • 实例

你越是认真生活,你的生活就会越美好——弗兰克·劳埃德·莱特
《人生果实》经典语录

mongodb – 菜鸟教程文档

内容来自菜鸟教程文档,这里整理成一篇文章,一方面加深自己印象,另一方面方便查找对应语法,而且自己的内容,想怎么调整就怎么调整

mongodb数据库结构与传统关系型数据库对比

mongodb数据库结构:数据库->集合->文档
传统关系型数据库:数据库->表 ->列

启动MongoDB服务(安装可以参考mongodb中文文档里步骤)

mongo

MongoDB 常用命令汇总_第1张图片

MongoDB 创建数据库

创建/切换数据库

use jianhongDbs

如果数据库jianhongDbs不存在,则创建jianhongDbs数据库,否则切换到jianhongDbs数据库。

查看当前数据库名称

db

在这里插入图片描述

查看所有数据库

show dbs

MongoDB 常用命令汇总_第2张图片
可以看到,我们刚创建的数据库jianhongDbs并不在数据库的列表中, 要显示它,我们需要向jianhongDbs数据库插入一些数据。

// 这里表示在当前数据库下的jianhongDbs集合插入一条数据
db.jianhongDbs.insert({
     "name":"菜鸟教程"})
show dbs

MongoDB 常用命令汇总_第3张图片

MongoDB 常用命令汇总_第4张图片
MongoDB 中默认的数据库为test,如果你没有创建新的数据库,集合将存放在 test 数据库中。

PS:
在 MongoDB 中,集合只有在内容插入后才会创建!就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

删MongoDB 除数据库

db.dropDatabase()

删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。
MongoDB 常用命令汇总_第5张图片

删除集合

db.collection.drop()
> use runoob
switched to db runoob
> db.createCollection("runoob")     # 先创建集合runoob,类似数据库中的表
> show tables             # show collections 命令会更加准确点
runoob
> db.runoob.drop()
true
> show tables

MongoDB 常用命令汇总_第6张图片

MongoDB 插入文档

mongodb数据库结构:数据库->集合->文档

将数据插入到 MongoDB 的集合中。
文档的数据结构和 JSON 基本一样。

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

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

MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

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,按顺序写入。

实例

以下文档可以存储在 MongoDB 的 runoob 数据库 的 col 集合中:

db.col.insert({
     title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '菜鸟教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。

查看集合内的文档:

 db.col.find()
 // { "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

MongoDB 常用命令汇总_第7张图片
我们也可以将数据定义为一个变量,如下所示:

document=({
     title: 'MongoDB 教程2', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '菜鸟教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
});

执行后显示结果如下
MongoDB 常用命令汇总_第8张图片
执行插入操作:

db.col.insert(document)

MongoDB 常用命令汇总_第9张图片
插入文档你也可以使用db.col.save(document)命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

db.col.save(document)

MongoDB 常用命令汇总_第10张图片
指定_id为第三条数据的_id

document = {
     
    "_id" : ObjectId("5feb521ae93dfe96489f733b"),
    "title" : "MongoDB 教程3",
    "description" : "MongoDB 是一个 Nosql 数据库",
    "by" : "菜鸟教程",
    "url" : "http://www.runoob.com",
    "tags" : [ 
        "mongodb", 
        "database", 
        "NoSQL"
    ],
    "likes" : 100.0
}
db.col.save(document)
db.col.find()

MongoDB 常用命令汇总_第11张图片
MongoDB 常用命令汇总_第12张图片

PS

  • mongodb数据库结构:数据库->集合->文档:
  • 每生成一条文档,假如没有指定_id的值,系统会自动生成,为ObjectId类型

MongoDB 常用命令汇总_第13张图片


谢谢你阅读到了最后~
期待你关注、收藏、评论、点赞~
让我们一起 变得更强


推荐阅读
MongoDB中的多表关联查询、聚合管道($lookup、$unwind)
mongodb、mongoose相关
前端linux基础,这一篇就够了

你可能感兴趣的:(mongoDB,mongodb)