MongoDB 命令 (MongoDB Shell)

1、我们 mongodb 安装成功后,用上一篇的方法启动 mongodb服务 然后使用 mongodb shell 来做数据库的增删改查

2、创建数据库

  语法:

use 数据库名称

  案例:

> use juyou
switched to db juyou
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

  这时创建完成过,使用命令查询数据库却没有我们刚创建的数据库,这时因为刚创建的数据库没有数据,下面我们在数据库中插入一条数据

> db.juyou.insert({"name":"聚优福利"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin   0.000GB
config  0.000GB
juyou   0.000GB
local   0.000GB

  这时就能看到刚刚创建的数据库了

3、删除数据库

  语法:

db.dropDatabase()

  案例:

  首先我们先查询一下所有的数据库

> show dbs
admin   0.000GB
config  0.000GB
juyou   0.000GB
local   0.000GB

  然后我们可以使用 db 来查看当前的数据库

> db
juyou

  当前链接的数据库就是 juyou,如果不是可以使用 use juyou 命令切换到 juyou 数据库

> use juyou
switched to db juyou

  执行删除命令

> db.dropDatabase()
{ "dropped" : "juyou", "ok" : 1 }

  然后再我们再查询一下所有数据库

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

  已经成功删除了

4、创建集合

  语法:

db.createCollection(name, options)

  name:集合名称

  options: 可选参数 

  案例:创建一个名为 userinfo 的集合

> db.createCollection("userinfo")
{ "ok" : 1 }
> show collections
userinfo

  创建成功后可以使用  show collections  命令查询已有集合

 5、插入文档

  语法:

db.集合名称.insert(document)

  案例:

  在 juyou 集合下的 userinfo 文档中插入一条数据

> db.juyou.userinfo.insert({name:"郭大爷","sex":"男","age":"不详"})
WriteResult({ "nInserted" : 1 })
> db.juyou.userinfo.find()
{ "_id" : ObjectId("5abaf679a3aadbe625070c4f"), "name" : "郭大爷", "sex" : "男", "age" : "不详" }

  插入成功后,可以使用  find()  来查询刚刚插入的数据,下面会对查询做详细的讲解,这里不多做解释

  可以看到插入数据后,多了一列 _id 的数据,在文档中 mongodb 会将 _id 字段自动设置为主键,如果不指定mongodb会自动生成

  自动生成的 ObjectId 是由时间戳、MachineID(电脑的 mac 地址)、进程ID以及自增计数器组成的,基本上不会重复

> db.juyou.userinfo.insert({"_id":1,name:"郭少爷","sex":"男","age":"不详"})
WriteResult({ "nInserted" : 1 })
> db.juyou.userinfo.find()
{ "_id" : ObjectId("5abaf679a3aadbe625070c4f"), "name" : "郭大爷", "sex" : "男", "age" : "不详" }
{ "_id" : 1, "name" : "郭少爷", "sex" : "男", "age" : "不详" }

  也可以在插入数据时指定 _id 值,在之前使用mongodb开发中会指定给 _id 值,使用GUID(全球唯一标识)代替

  我们也可以先将要插入的数据定义成变量

> var user = {name:"郭老师",sex:"男",age:"18"}
> db.juyou.userinfo.insert(user)
WriteResult({ "nInserted" : 1 })
> db.juyou.userinfo.find()
{ "_id" : ObjectId("5abaf679a3aadbe625070c4f"), "name" : "郭大爷", "sex" : "男", "age" : "不详" }
{ "_id" : 1, "name" : "郭少爷", "sex" : "男", "age" : "不详" }
{ "_id" : ObjectId("5abb05afa3aadbe625070c50"), "name" : "郭老师", "sex" : "男", "age" : "18" }

  mongodb 在3.2版本后 提供了一次插入多条数据的方法 insertMany() ,我们下面把上面的三条数据删除,然后试一下一次插入多条数据

> db.juyou.userinfo.remove({})
WriteResult({ "nRemoved" : 3 })
> db.juyou.userinfo.find()
> var users = [
...   {
...     _id:1,
...     name:"郭大爷",
...     sex:"男",
...     age:"80"
...   },
...   {
...     _id:2,
...     name:"郭老师",
...     sex:"男",
...     age:"不详"
...   },
...   {
...     _id:3,
...     name:"郭少爷",
...     sex:"男",
...     age:"18"
...   }
... ]
> db.juyou.userinfo.insertMany(users)
{ "acknowledged" : true, "insertedIds" : [ 1, 2, 3 ] }
> db.juyou.userinfo.find()
{ "_id" : 1, "name" : "郭大爷", "sex" : "男", "age" : "80" }
{ "_id" : 2, "name" : "郭老师", "sex" : "男", "age" : "不详" }
{ "_id" : 3, "name" : "郭少爷", "sex" : "男", "age" : "18" }

  这样我们可以直接插入一个数组

6、更新文档

  语法:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

  query:条件,相当于sql update时where条件

  update: 要更新的内容,类似 sql 的 set 后面的内容

  案例:我们先查询一下郭老师的年龄是不详,现在我们根据主键_id来把年龄更新成20岁

> db.juyou.userinfo.find()
{ "_id" : 1, "name" : "郭大爷", "sex" : "男", "age" : "80" }
{ "_id" : 2, "name" : "郭老师", "sex" : "男", "age" : "不详" }
{ "_id" : 3, "name" : "郭少爷", "sex" : "男", "age" : "18" }
> db.juyou.userinfo.update({"_id":2},{$set:{"age":"20"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.juyou.userinfo.find()
{ "_id" : 1, "name" : "郭大爷", "sex" : "男", "age" : "80" }
{ "_id" : 2, "name" : "郭老师", "sex" : "男", "age" : "20" }
{ "_id" : 3, "name" : "郭少爷", "sex" : "男", "age" : "18" }

  已经成功将郭老师的年龄改成20,然后我们看到在更新命令中又一个 $set 的关键词,这个是更新操作符,下面来介绍一下

  

原文地址:https://www.cnblogs.com/handsCool/p/8660862.html

时间: 2024-10-09 23:26:44

MongoDB 命令 (MongoDB Shell)的相关文章

每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作

上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program Files\MongoDB\Server\3.0\bin;.注意:要以;隔开各种变量. 这样的话就可以直接在CMD命令窗口中输入mongo 表示环境变量设置成功,并已经连接到默认数据库test中. 我们可以输入mongod --help来查看相关的帮助信息 C:\Users\zouqi>mongod

使用PHP来开发MongoDB并在shell查看数据

1.shell连接使用mongoDB: 启动mongodb: mongod --dbpath d:\mongoDB\db 打开新shell,连接mongodb:mongo 2.shell基本命令: MongoDB命令行操作 查看所有数据库:show dbs 使用某个数据库:use mydb 查看所有集合:show collections 查看某个集合的所有元素:db.mycollection.find() 指定某个值来查看相应的元素:db.mycollection.find({name : "w

MongoDB命令行操作

1. 连接MongoDB: Mongodb://username:[email protected]/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指定数据库. 3. 查看所有数据库: show dbs 注: 该命令不会显示新创建的空数据库,若想显示需要向空数据库插入一些数据. MongoDB中默认的数据库为test,若果没有创建新的数据库,集合将存放于test中. 4. 查看当前数据库名: db 5. 删除数据库: db.dropDatabas

全自动安装mongoDB数据库的shell脚本

最近在研究mongoDB数据库,写了个全自动安装mongoDB数据库的shell脚本,仅供参考,欢迎拍砖,内容如下: #!/bin/bash # shell的执行选项: # -n 只读取shell脚本,但不实际执行 # -x 进入跟踪方式,显示所执行的每一条命令 # -c "string" 从strings中读取命令 # 下载目录 downloadsDir=/root/Downloads # 安装目录 appDir=/usr/local/mongodb # 判断备份目录是否存在,不存时

MongoDB安装及shell简介

MongoDB安装 MongoDB具有跨平台的优良特性,提供了对主流的操作系统支持,我们可以根据自己使用的操作系统,选择下载对应的安装包. 图 1. MongoDB支持各个版本的操作系统 MongoDB在各个操作系统上的安装都比较简单,我们只需要下载安装包,解压到某个目录下,然后指定存储目录并执行mongod,其就可以监听客户端的链接请求了:下面简单的介绍一下在Ubuntu下的安装过程: 将下载的安装包拷贝到特定的目录下,并进行解压 图 2.拷贝MongoDB并解压缩 执行解压MongoDB目录

【MongoDB数据库】MongoDB 命令入门初探

MongoDB是一款NoSql数据库,使用了"面向集合"(Collection-Oriented)原理,意思是数据被分组存储在数据集中,被称为一个集合(Collection).每个集合(Collection)在数据库中都有一个唯一的标识名,并且可以包含无限数目的对象(BasicDBObject). 集合(Collection)的概念类似关系型数据库(RDBMS)里的表(table),对象(BasicDBObject)的概念类似于RDBMS中表的一条数据,关系数据库里插入一条数据等价于在

mongodb命令行的使用-让你的数据存储更高效

mongodb简介 mongodb 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐.特点:高性能.易部署.易使用,存储数据非常方便.本文将介绍mongodb的命令行的使用方法,让mongodb的操作更加高效. mongodb特点:高性能.易部署.易使用,存储数据非常方便. 功能特性: 面向集合存储,易存储对象类型的数据 模式自由 支持动态查询 支持完全索引,包含内部对象 支持查询 支持复制和故障恢复 使用高效的二进制数据存储,包括大型对

mongoDB(2)--mongoDB的常用命令

默认设置后台启动: vi mongodb.cfg 创建配置文件,配置启动信息 dbpath=/root/mongodb/data logpath=/root/mongodb/log/mongodb.log fork=true storageEngine=mmapv1指定引擎 [[email protected] mongodb]# mongod -f mongodb.cfg  命令指定配置文件启动 ps -aux | grep mongod 查看一下mongod当前进程 [[email prot

MongoDB命令及SQL语法对比

mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象(document)三个层次组成.MongoDB对于关系型数据库里的表,但是集合中没有列.行和关系概念,这体现了模式自由的特点. MySQL MongoDB 说明 mysqld mongod 服务器守护进程 mysql mongo 客户端工具 mysqldump mongo