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 基础操作的主要内容,如果未能解决你的问题,请参考以下文章
100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战
node.js零基础详细教程:node.js操作mongodb,及操作方法的封装