MongoDB 基础操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 基础操作相关的知识,希望对你有一定的参考价值。

1.创建数据库 use data_name

use 数据库名

如果指定的数据库已存在则返回现有数据库,不存在则创建新数据库

创建一个名字为newdb的数据库

use newdb

技术分享

查看数据库列表:show dbs

技术分享

可以看到,刚刚创建的newdb不在列表中,要显示数据库,需要至少插入一个空文档,空的数据库是不显示出来的。

技术分享

在 MongoDB 中默认数据库是:test。 如果您还没有创建过任何数据库,则集合/文档将存储在test数据库中。

2.删除数据库 db.dropDatabase()

db.dropDatabase() 命令用于删除当前数据库(默认删除test)

技术分享

3.创建集合 createCollection()

db.createCollection(name,options) 方法用于在MongoDB 中创建集合。

在命令中,name 是要创建的集合的名称。 options是一个文档,用于指定集合的配置。

 技术分享

>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>
 

可以使用命令show collections检查创建的集合。

>show collections
mycollection
 

以下示例显示了createCollection()方法的语法,其中几个重要选项 -

> db.createCollection("mycol", {capped : true, autoIndexId : true, size : 6142800, max : 10000 })
{ "ok" : 1 }
>
 

在 MongoDB 中,不需要创建集合。当插入一些文档时,MongoDB 会自动创建集合。

>db.newcollection.insert({"name" : "yiibaitutorials"})
>show collections
mycol
newcollection
mycollection
>

4.删除集合  drop()

db.COLLECTION_NAME.drop()

show collections 命令查看当前集合,删除名为lcgcol的集合:

技术分享

 如果选定的集合成功删除,drop()方法将返回true,否则返回false

5.数据类型 

MongoDB支持许多数据类型。 其中一些是 -

  • 字符串 - 这是用于存储数据的最常用的数据类型。MongoDB中的字符串必须为UTF-8
  • 整型 - 此类型用于存储数值。 整数可以是32位或64位,具体取决于服务器。
  • 布尔类型 - 此类型用于存储布尔值(true / false)值。
  • 双精度浮点数 - 此类型用于存储浮点值。
  • 最小/最大键 - 此类型用于将值与最小和最大BSON元素进行比较。
  • 数组 - 此类型用于将数组或列表或多个值存储到一个键中。
  • 时间戳 - ctimestamp,当文档被修改或添加时,可以方便地进行录制。
  • 对象 - 此数据类型用于嵌入式文档。
  • 对象 - 此数据类型用于嵌入式文档。
  • Null - 此类型用于存储Null值。
  • 符号 - 该数据类型与字符串相同; 但是,通常保留用于使用特定符号类型的语言。
  • 日期 - 此数据类型用于以UNIX时间格式存储当前日期或时间。您可以通过创建日期对象并将日,月,年的日期进行指定自己需要的日期时间。
  • 对象ID - 此数据类型用于存储文档的ID。
  • 二进制数据 - 此数据类型用于存储二进制数据。
  • 代码 - 此数据类型用于将javascript代码存储到文档中。
  • 正则表达式 - 此数据类型用于存储正则表达式。

6. 插入文档 insert()

db.COLLECTION_NAME.insert(document)

要将数据插入到MongoDB集合中,需要使用MongoDB中的insert()或者save()方法。

以下文档可以存储在hellodb数据库的lcgcollection集合中:

技术分享

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

find()命令查看已插入文档:

技术分享

我们也可以将数据定义为一个变量,如下所示:

技术分享

执行后显示结果如下:

技术分享

执行插入操作:

技术分享

 

在插入的文档中,如果不指定_id参数,那么 MongoDB 会为此文档分配一个唯一的ObjectId。

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

要在单个查询中插入多个文档,可以在insert()命令中传递文档数组。

 

其他插入文档的方法

db.collection.insertOne()方法 将单个文档插入到集合中

db.collection.insertMany()方法将多个文档插入到集合中

 

7.查询文档 find()

MongoDB 查询数据的语法格式如下:

db.collection.find(query, projection)

  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

find()方法可以以非结构化的方式显示所有文档。

要以格式化的方式显示结果,可以使用pretty()方法。

如下:

db.lcgcollection.find()

技术分享

db.lcgcollection.find().pretty()

技术分享

除了find()方法外,还有一个findOne()方法,它只返回一个文档。

技术分享

 

----未完待续  吃饭去----

以上是关于MongoDB 基础操作的主要内容,如果未能解决你的问题,请参考以下文章

mongodb 基础操作

100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战

node.js零基础详细教程:node.js操作mongodb,及操作方法的封装

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

node.js零基础详细教程:mongodb数据库操作

node.js零基础详细教程:node.js操作mongodb,及操作方法的封装