1。连接mongodb

cmd进入mongo/bin目录下,输入:

mongo

bi mongodb 工具 mongodb的使用教程_数据

2。创建数据库

如果数据库不存在创建数据库,否则打开该数据库。

use 数据库名

EG:创建数据库runoob

use runoob

创建并查看当前使用的数据库:

bi mongodb 工具 mongodb的使用教程_bi mongodb 工具_02

查看所有数据库:

show dbs

bi mongodb 工具 mongodb的使用教程_数据_03

很显然,刚创建的数据库runoob并不在其中,要想显示,必须向数据库中插入一些数据

bi mongodb 工具 mongodb的使用教程_bi mongodb 工具_04

MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。

3。删除数据库

db.dropDatabase()

查看当前数据库为runoob; 删除当前数据库;查看已有数据库内该数据库已经被删除成功。

bi mongodb 工具 mongodb的使用教程_数据库_05

删除集合:

db.集合名.drop()

4。插入文档

使用insert()或者save()方法插入文档。

如果集合clo不存在则自动创建;查看已经插入的文档。

db.COLLECTION_NAME.insert(document)

bi mongodb 工具 mongodb的使用教程_数据_06

将数据定义一个变量document,执行插入操作

bi mongodb 工具 mongodb的使用教程_数据_07


bi mongodb 工具 mongodb的使用教程_mongodb_08

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

5。修改文档

update()方法

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

参数介绍:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如,<script type="math/tex" id="MathJax-Element-30">,</script>inc…)等,也可以理解为sql update查询内set后面的
  • upsert :
    可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb
    默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

修改likes字段:

bi mongodb 工具 mongodb的使用教程_数据库_09

save()方法

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

参数说明:

  • document : 文档数据。
  • writeConcern :可选,抛出异常的级别。

替换id为:5a7aa751c0dd1fd67944c706的文档

bi mongodb 工具 mongodb的使用教程_bi mongodb 工具_10

6。删除文档

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
  • writeConcern :(可选)抛出异常的级别。

删除标题为test的文档

bi mongodb 工具 mongodb的使用教程_数据库_11

删除第一条数据

db.COLLECTION_NAME.deleteMany(DELETION_CRITERIA,1)

删除 status 等于 D 的一个文档:

db.col.deleteOne( { status: "D" } )

删除 status 等于 A 的全部文档:

db.col.deleteMany({ status : "A" })

删除所有数据

db.col.deleteMany({})

7。查询文档

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

查询文档以易读的方式读取数据:

db.col.find().pretty()

bi mongodb 工具 mongodb的使用教程_数据库_12


mongodb与关系型数据库的比较

bi mongodb 工具 mongodb的使用教程_mongodb_13


AND条件

db.col.find({key1:value1, key2:value2}).pretty()

bi mongodb 工具 mongodb的使用教程_数据库_14


类似于where title="mongodb教程" and likes=100


OR条件

db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

bi mongodb 工具 mongodb的使用教程_数据_15


类似于where likes=100 or title="111"


AND与OR联合使用

bi mongodb 工具 mongodb的使用教程_数据_16


类似于where by="csdn" AND (likes = 100 OR title = '111')