mongodb基础操作

合集下载

mongodb基础操作

mongodb基础操作

mongodb基础操作MongoDB是一个NoSQL数据库,具有灵活的数据模型和强大的查询功能。

下面是一些常见的MongoDB基础操作:1. 连接到MongoDB服务器:使用命令mongo或mongosh连接到MongoDB服务器。

2. 创建数据库:使用命令use <database-name>创建一个新的数据库。

如果数据库不存在,则会自动创建。

3. 创建集合:使用命令db.createCollection(<collection-name>)在当前数据库中创建一个新的集合。

4. 插入文档:使用命令db.<collection-name>.insertOne(<document>)或db.<collection-name>.insertMany(<documents>)插入一个或多个文档到指定集合中。

5. 查询文档:使用命令db.<collection-name>.find(<query>)查询符合条件的文档。

可以使用各种查询运算符(filter operators)来定义查询条件。

6. 更新文档:使用命令db.<collection-name>.updateOne(<filter>, <update>)或db.<collection-name>.updateMany(<filter>, <update>)更新符合条件的文档。

7. 删除文档:使用命令db.<collection-name>.deleteOne(<filter>)或db.<collection-name>.deleteMany(<filter>)删除符合条件的文档。

8. 索引操作:使用命令db.<collection-name>.createIndex(<index>)创建索引,可以提高查询性能。

mongodb基本操作命令

mongodb基本操作命令

mongodb基本操作命令MongoDB是一个开源的文档型数据库,具有高性能、高可扩展性、高可用性等优点。

在使用MongoDB时,我们需要掌握一些基本操作命令,以便更好地管理和维护我们的数据库。

下面将详细介绍MongoDB的基本操作命令。

一、连接和退出1.连接MongoDB在命令行中输入以下命令可以连接到MongoDB:mongo如果你需要连接到指定主机上的MongoDB,则可以使用以下命令:mongo --host <hostname>其中<hostname>是指要连接的主机名或IP地址。

2.退出MongoDB要退出MongoDB,可以输入以下命令:exit二、数据库操作1.创建数据库在MongoDB中,我们可以使用以下命令来创建一个新的数据库:use <database_name>其中<database_name>是指你要创建的数据库名称。

2.查看当前数据库要查看当前正在使用的数据库,可以使用以下命令:db3.查看所有数据库要查看所有已经存在的数据库列表,可以使用以下命令:show dbs4.删除数据库要删除一个已经存在的数据库,可以使用以下命令:use <database_name>db.dropDatabase()其中<database_name>是指你要删除的数据库名称。

三、集合操作1.创建集合在MongoDB中,我们可以使用以下命令来创建一个新的集合:db.createCollection(<collection_name>)其中<collection_name>是指你要创建的集合名称。

2.查看集合要查看已经存在的集合列表,可以使用以下命令:show collections3.删除集合要删除一个已经存在的集合,可以使用以下命令:db.<collection_name>.drop()其中<collection_name>是指你要删除的集合名称。

mongodb 数据库基本操作

mongodb 数据库基本操作

mongodb 数据库基本操作
MongoDB 是一种NoSQL 数据库系统,使用BSON(Binary JSON)格式存储数据。

下面是MongoDB 的基本操作指南:
1. 连接到MongoDB 数据库
使用MongoDB 的客户端mongoshell 可以连接上本地数据库、远程数据库或者MongoDB Atlas 等服务。

2. 创建数据库或集合
MongoDB 使用的是以其独有的方式命名的数据库和集合,在mongoshell 中可以创建一个新的数据库或集合。

3. 插入数据
在MongoDB 中,数据以文档的方式存储。

可在mongoshell 中插入新数据或用程序编写插入数据的语句。

4. 查询数据
可以使用mongoshell 中提供的查询语言,如find(),可在其中指定查询条件和结果集的排序等信息。

5. 更新数据
使用update() 方法可以轻松地更新数据。

6. 删除数据
在MongoDB 中,使用remove() 方法可以删除数据。

还可以使用drop() 方法删除整个集合。

7. 索引
MongoDB 中的索引与传统关系型数据库中的索引类似,可提高查询语句的执行效率。

8. 备份和恢复数据
MongoDB 提供了备份和恢复数据库的工具,您可以选择在定期备份数据来保护数据库。

以上是MongoDB 数据库的基本操作指南,需要根据应用场景和业务需求进行具体操作。

MongoDB的基本使用方法

MongoDB的基本使用方法

MongoDB的基本使用方法MongoDB是一种NoSQL数据库,它非常适合处理大量结构松散的数据。

相较于传统的关系型数据库,它更加灵活,易于扩展。

本文将分为以下几个章节,介绍MongoDB的基本使用方法。

一、安装MongoDBMongoDB的官方网站提供了多种操作系统的安装包,用户可以选择适合自己的版本进行下载。

安装完成之后,需要配置MongoDB的环境变量,方便在终端中直接使用MongoDB命令。

二、启动MongoDB在终端输入"mongod"命令来启动MongoDB,并且默认会使用"/data/db"作为默认数据存储路径。

如果需要修改默认的数据存储路径,可以在启动时添加"--dbpath"参数,例如"mongod --dbpath/user/local/mongodb_data"。

三、连接MongoDB在终端中输入"mongo"命令可以进行与MongoDB的连接,并且默认连接到本地的MongoDB。

如果需要连接到远程的MongoDB,需要通过"mongo host:port"命令进行连接,其中host为MongoDB的IP地址,port为其端口号。

四、数据的增删改查MongoDB是一种文档型数据库,其数据以文档形式进行存储。

一条文档就是一个键值对集合,文档可以包含嵌套的文档,以及数组类型的值。

MongoDB提供了丰富的CRUD操作来实现数据的增删改查。

1.插入数据MongoDB中,可以通过insert()或者save()方法来插入一条数据。

例如:ers.insert({name:"Tom",age:18});或者:ers.save({_id:1,name:"Tom",age:18});其中,insert()和save()操作的区别在于,当插入数据的唯一标识已经存在时,insert()方法会直接报错,而save()方法则会将数据替换。

MongoDB数据库入门教程

MongoDB数据库入门教程

MongoDB数据库入门教程作为一款非关系型的分布式数据库,MongoDB备受广大开发者的喜爱。

它不仅提供了高性能的数据处理和存储服务,而且还具有灵活的数据结构以及强大的查询语言等特点。

如果你也想拥有这样一个全能型的数据库,那么接下来的MongoDB数据库入门教程将会为你提供实用的知识和技能。

一、安装MongoDB在学习MongoDB之前,你需要先进行安装和配置。

可以通过官方网站下载相应的安装程序,然后进行简单的操作即可完成安装。

此外,还需要设置环境变量等相关配置,以确保在使用时的正常运行。

二、建立数据库创建数据库是MongoDB的第一步,这里以“school”为例,讲解如何建立一个数据库。

在CMD命令行中输入“mongod”命令,并通过“mongo”命令进入命令行终端,使用以下命令建立“school”数据库。

> use school三、建立集合集合是数据组织的最基本单位,可以看作是表的概念。

在MongoDB中,集合可以无限制地扩展,不需要提前设置结构,非常灵活。

我们可以通过以下命令创建一个“students”集合。

> db.createCollection(\"students\")四、插入文档把文档插入到集合中是MongoDB中最简单、最常见的操作之一。

MongoDB 的文档是以键值对的形式计数的,这里以学生作为一个文档进行插入,使用以下命令插入一个学生的信息。

> db.students.insert({name:\"Tom\",age:18,gender:\"male\"})五、查询文档MongoDB提供了丰富的查询语言,可以满足各种查询需求。

这里以查询年龄为18岁的学生的信息为例。

> db.students.find({age:18})六、更新文档MongoDB可以对集合中的文档进行更新,具体实现可以使用update()函数。

mongodb shell基本操作及数据查询实验原理

mongodb shell基本操作及数据查询实验原理

mongodb shell基本操作及数据查询实验原理MongoDB Shell 是一个基于JavaScript 的交互式工具,用于与MongoDB 数据库进行交互。

它提供了一系列基本操作,如数据库、集合和文档的增删改查等。

下面将介绍一些MongoDB Shell 的基本操作及数据查询实验原理。

1. 连接MongoDB 数据库在开始操作之前,首先需要连接到MongoDB 数据库。

在命令行中输入以下命令:```javascriptmongo```这将连接到默认的MongoDB 实例,即localhost:27017。

2. 创建数据库使用`use` 命令可以创建一个新的数据库。

例如,创建一个名为"test" 的数据库:```javascriptuse test```3. 显示所有数据库输入以下命令可以查看当前连接的所有数据库:```javascriptshow dbs```4. 创建集合使用`db.collection()` 方法可以创建一个新的集合。

例如,创建一个名为"users" 的集合:```javascripters.insert({ name: "John", age: 30 })```5. 插入文档使用`insert` 方法可以向集合中插入文档。

例如,插入一个包含名字和年龄的文档:```javascripters.insert({ name: "Alice", age: 25 })```6. 查询数据使用`find` 方法可以查询集合中的数据。

例如,查询年龄大于等于20 的所有用户:```javascripters.find({ age: { $gte: 20 } })```7. 更新数据使用`update` 方法可以更新集合中的文档。

例如,更新名字为"Bob" 的用户的年龄为35:```javascripters.update({ name: "Bob" }, { age: 35 })```8. 删除数据使用`remove` 方法可以删除集合中的文档。

mongodb实验数据库基本操作

mongodb实验数据库基本操作

mongodb实验数据库基本操作MongoDB是一种非关系型数据库,它以文档的形式存储数据。

在本文中,我们将介绍MongoDB实验数据库的基本操作。

首先,我们需要安装MongoDB并启动它。

安装过程可以参考MongoDB官方网站提供的文档。

安装完成后,我们可以通过命令行或者MongoDB的图形界面工具来操作数据库。

接下来,我们需要创建一个数据库。

在MongoDB中,可以使用`use`命令来创建数据库。

例如,我们可以使用以下命令创建一个名为`experiment`的数据库:```use experiment```创建数据库后,我们可以使用`db`命令来查看当前正在使用的数据库。

例如,我们可以使用以下命令查看当前正在使用的数据库:```db```接下来,我们可以创建一个集合(类似于关系型数据库中的表)。

在MongoDB中,可以使用`db.createCollection()`命令来创建集合。

例如,我们可以使用以下命令创建一个名为`students`的集合:```db.createCollection("students")```创建集合后,我们可以使用`db.getCollectionNames()`命令来查看当前数据库中的所有集合。

例如,我们可以使用以下命令查看当前数据库中的所有集合:```db.getCollectionNames()```接下来,我们可以向集合中插入文档(类似于关系型数据库中的行)。

在MongoDB中,可以使用`db.collection.insert()`命令来插入文档。

例如,我们可以使用以下命令向`students`集合中插入一个名为`Alice`的文档:```db.students.insert({name: "Alice", age: 20, major: "Computer Science"}) ```插入文档后,我们可以使用`db.collection.find()`命令来查询集合中的文档。

mongodb基础操作

mongodb基础操作

mongodb基础操作1. MongoDB基础命令(重点)1.1. 数据库操作show dbs;显示数据库列表db;显示当前正在使用的数据库use dbname;创建或切换数据库如果数据库不存在,则创建数据库dbname,否则切换到指定数据库dbname。

创建的数据库并不在数据库的列表中,要显示它,我们需要向数据库dbname插入一些数据。

db.dropDatabase();删除数据库MongoDB 中默认的数据库为test,如果你没有创建新的数据库,集合将存放在test 数据库中。

1.2. 集合操作1.2.1. 创建集合了解db.createCollection(name, options);name是要创建的集合的名称options是一个文档,用于指定集合的配置选项参数是可选的,所以只需要到指定的集合名称。

例1:不限制集合大小db.createCollection("stu")例2:限制集合大小,后面学会插入语句后可以查看效果参数capped:默认值为false表示不设置上限,值为true表示设置上限参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节db.createCollection("sub", { capped : true, size : 10 } )注意:在 MongoDB 中不需要创建集合。

当插入一些文档时,MongoDB 会自动创建集合。

1.2.2. 显示集合show collections; 显示数据库中的集合列表1.2.3. 删除集合db.集合名.drop(); 删除指定的集合1.3. 文档(数据)操作(重点中的重点)1.3.1. 增加数据db.web.insert({"name":"ghost", "age":10}) 在web集合中插入一条新数据,如果没有web这个集合,mongodb 会自动创建_id是主键,主键是每条数据的唯一标识,不能重复,就像身份证是每个人唯一的编号一样。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 Read:允许用户读取指定数据库 2 readWrite:允许用户读写指定数据库
3 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问sys tem.profile 4 dbOwner:该数据库的所有者,具有该数据库的全部权限。 5 userAdmin:允许用户向ers集合写入,可以在指定数据库里创建、删除和管理 用户
12 #updateuser它是完全替换之前的值,如果要新增或添加roles而不是代替它 则使用方 法: db.grantRolesToUser() 和 db.revokeRolesFromUser() 13 mongo> db.grantRolesToUser("usertest", [{role:"readWrite", db:"testDB"}, {role:"read", db:"testDB"}]) # 添加权限 14 mongo> db.revokeRolesFromUser("usertest",[{role:"read", db:"testDB"}])
7. 角色权限简介
1 关于MongoDB的内置角色,我们大概可以分为以下几种来简单说一下 2 1 Database User Roles(数据库用户角色):read、readWrite 3 2 Database Administration Roles(数据库管理角色):dbAdmin、dbOwner、userAdmi n 4 3 Culster Administration Roles(管理员组,针对整个系统进行管理):clusterAdmi n、clusterManager、clusterMonitor、hostManager 5 4 Backup and Restoration Roles(备份还原角色组):backup、restore 6 5 All‐Database Roles(所有数据库角色):readAnyDatabase、readWriteAnyDatabas e、userAdminAnyDatabase、dbAdminAnyDatabase 7 6 Superuser Roles(超级管理员):root、(dbOwner、userAdmin、userAdminAnyDatab ase这几个角色角色提供了任何数据任何用户的任何权限的能力,拥有这个角色的用户可以在任 何数据库上定义它们自己的权限) 8 7 Internal Role(内部角色,一般情况下不建议设置):__system
4. 创建普通用户
1 mongo> use test 2 mongo> db.createUser( 3{ 4 user:"test", 5 pwd:"Admin12#$", 6 roles:[ 7 {role:"readWrite", db:"test"} #读写权限 8] 9} 10 ) 11 mongo> db.auth("test","Admin12#$") //授权
14 dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 15 root:只在admin数据库中可用。超级账号,超级权限
2. 创建超级管理用户
1 创建超级管理员用户
2 mongo> usreateUser({
4
"user" : "root",
5
"pwd": "Admin12#$",
6
"roles" : [{"role":"root","db":"admin"}]
7 })
8 mongo> db.auth("root","Admin12#$") //授权
5. 修改权限
1 #更改用户权限 2 mongo> use test 3 mongo> db.updateUser( 4{ 5 user:"test", 6 pwd:"Admin12#$", 7 roles:[ 8 {role:"dbAdmin", db:"test"} #数据库管理角色 9] 10 } 11 )
8} 9) 10 mongo> db.auth("admin","Admin12#$") //授权 11 #创建系统用户拥有test库的读写权限 12 mongo> use admin 13 mongo> db.createUser( 14 { 15 user:"test", 16 pwd:"Admin12#$", 17 roles:[ 18 {role:"readWrite", db:"test"} 19 ] 20 } 21 ) 22 mongo> db.auth("test","Admin12#$") //授权
1. 常用命令
1 #登录mongo 2 shell> mongo 127.0.0.1:27017/admin ‐u admin ‐p Admin12$# 3 #切换到admin数据库 4 mongo> use admin 5 #展示所有数据库 6 mongo> show dbs 7 #展示所有集合 8 mongo> show collections;方法1 9 mongo> show tables;方法2 10 #查询用户的信息 11 mongo> show users;方法1 12 mongo> ers.find();方法2 13 mongo> db.runCommand({usersInfo:"userName"});方法3 14 #查询集合中所有的数据 15 mongo> db.collection.find(); 16 #显示当前工作的数据库 17 mongo> db 18 #查看当前使用的数据库 19 mongo> db.geMongomontName(); 20 #显示当前db状态 21 mongo> db.stats();
# 删除权限 15 #修改密码 16 mongo> db.changeUserPassword("user","changepass");方法1 17 mongo> db.updateUser("user",{pwd:"changepass"});方法2
18
6. 删除操作
1 #删除新数据库<newdb>,那么dropDatabase()命令将如下所示: 2 mongo> use newdb 3 switched to db newdb 4 mongo> db.dropDatabase() 5 { "dropped" : "newdb", "ok" : 1 } 6 #删除名称为 collection 的集合。 7 mongo> db.collection.drop() 8 true 9 #删除用户 10 mongo> use dbname 11 mongo> ers.remove({user:"usertest"}) 12 mongo> db.dropUser('usertest')
3. 创建系统用户
1 #创建系统用户 2 mongo> use admin 3 mongo> db.createUser( 4{ 5 user: "admin", 6 pwd: "Admin12#$", 7 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
6 clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权 限。
7 clusterManager:提供了集群和复制集管理和监控操作。拥有该权限的用户可以操作confi g和local数据库(即分片和复制功能) 8 clusterMonitor:仅仅监控集群和复制集 9 hostManager:提供了监控和管理服务器的权限,包括shutdown节点,logrotate, repai rDatabase等。 10 backup、restore:admin数据库中备份恢复数据的角色 11 readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限 12 readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限 13 userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权 限
相关文档
最新文档