MongoDB常用操作命令大全

1. MongoDB是什么?

MongoDB是一个非关系型(NoSQL)的文档型数据库,采用分布式存储方式,面向集合(Collection)存储数据。MongoDB的文档数据格式非常灵活,支持嵌套文档和数组类型,具有优异的扩展性和高灵活性。

MongoDB提供了方便易用的命令行工具mongo,同时也提供了丰富的API供开发者使用。

2. MongoDB基本操作

2.1 连接MongoDB

连接MongoDB使用的命令为:mongo命令。若MongoDB已经安装在本地,则无需指定连接地址和端口,直接运行mongo即可连接MongoDB。

mongo

若MongoDB安装在远程服务器,则需要使用以下命令连接MongoDB:

mongo host:port

其中host表示MongoDB所在的主机名或IP地址,port表示MongoDB使用的端口号。如果MongoDB使用的是默认端口号(27017),则可以省略port参数。

2.2 创建数据库

使用use命令可以创建新的数据库。当MongoDB所连接的数据库不存在时,使用use命令会自动创建新的数据库,并将该数据库设置为当前数据库。

use DATABASE_NAME

例如,创建名为mydb的数据库:

use mydb

2.3 删除数据库

使用dropDatabase()命令可以删除数据库。在删除数据库之前,需要先切换到要删除的数据库。

use DATABASE_NAME

db.dropDatabase()

注意:切换到要删除的数据库后,执行dropDatabase()命令将会永久删除该数据库及其所有数据。请谨慎使用!

3. MongoDB集合操作

3.1 创建集合

创建集合使用的命令为db.createCollection(name, options),其中name表示集合名称,options表示集合的选项(可选参数)。

db.createCollection("mycollection")

db.createCollection("mycollection", { capped : true, size : 10000 })

上面的例子分别创建了名为mycollection的集合和名为mycollection的大小为10KB的固定集合(capped collection)。

3.2 查看集合

使用show collections命令可以查看当前数据库中所有的集合。

show collections

3.3 删除集合

使用db.collectionName.drop()命令可以删除集合,其中collectionName表示要删除的集合名称。

db.mycollection.drop()

注意:删除集合将会永久删除该集合及其所有数据。请谨慎使用!

4. MongoDB文档操作

4.1 插入文档

插入文档使用的命令为db.collection.insert(doc),其中collection表示要插入文档的集合名称,doc表示要插入的文档(一个JSON对象)。

db.mycollection.insert({

"title": "MongoDB Tutorial",

"description": "MongoDB is a NoSQL database",

"likes": 100,

"url": "http://www.example.com/mongodb/",

"by": "tutorials point"

})

4.2 查找文档

查找文档使用的命令为db.collection.find(query, projection),其中collection表示要查找文档的集合名称,query表示查询条件(一个JSON对象),projection表示要返回的字段(一个JSON对象)。

db.mycollection.find({

"likes": {$gt:50}

}, {

"title": 1,

"description": 1

})

上面的例子查询了likes大于50的文档,并返回了title和description字段。

4.3 更新文档

更新文档使用的命令为db.collection.update(query, update, options),其中collection表示要更新文档的集合名称,query表示查询条件(一个JSON对象),update表示更新内容(一个JSON对象),options表示更新选项(可选参数)。

db.mycollection.update({

"title": "MongoDB Tutorial"

},{

$set: {"likes":200}

})

上面的例子将title为“MongoDB Tutorial”的文档的likes字段更新为200。

4.4 删除文档

删除文档使用的命令为db.collection.remove(query),其中collection表示要删除文档的集合名称,query表示查询条件(一个JSON对象)。

db.mycollection.remove({

"title": "MongoDB Tutorial"

})

上面的例子将title为“MongoDB Tutorial”的文档从集合中删除。

5. MongoDB索引操作

5.1 创建索引

创建索引使用的命令为db.collection.createIndex(keys, options),其中collection表示要创建索引的集合名称,keys表示创建索引的字段(一个JSON对象),options表示索引选项(可选参数)。

db.mycollection.createIndex( { "title": 1 }, { unique: true } )

上面的例子对title字段创建了一个唯一索引。

5.2 查看索引

使用db.collection.getIndexes()命令可以查看集合的所有索引。

db.mycollection.getIndexes()

5.3 删除索引

使用db.collection.dropIndex(keys)命令可以删除索引,其中keys表示要删除索引的字段(一个JSON对象)。

db.mycollection.dropIndex( { "title": 1 } )

上面的例子删除了title字段的索引。

总结

本文介绍了MongoDB常用操作命令,包括数据库操作、集合操作、文档操作和索引操作。通过上述命令,可以实现对MongoDB的基本操作,从而高效地管理MongoDB数据库。

数据库标签