首页 > 编程学习 > MongoDB使用及命令大全(一)

MongoDB使用及命令大全(一)

发布时间:2022/11/7 10:06:45

目录

 

 MongoDB使用 

            1.安装mongodb

 2.认识mongodb命令

 2.1 增加与删除命令

 2.2寻找命令(find)

 2.3删除命令(remove)

 2.4更新文档(update)

 3.集合与数组操作

3.1集合操作

3.2数据库操作


 MongoDB使用

 1.安装mongodb

MongoDB官网
关于安装的各种配置可参考该文章
安装MongoDB最全的文章
如果大家对于官网上的英文看不懂
可以观看MongoDB中文官网


 2.认识mongodb命令

在使用monggodb命令时,我们必须
要知道进行操作的时形式都是json形式


 2.1 增加与删除命令


1. 增加即插入(insert)
    操作格式:
   db.<集合的名称>.insertOne(<JSON对象>)
   db.<集合的名称>.insertMany

        ([<JSON1>,<JSON2>.....<JSON n>])

注意:如果插入时插入的集合没有,会自动创建

          在同时插入多个值时需要用数组符号包裹

eg:

db.fruit.insertOne({name:'apple'})

db.fruit.insertMany([
    {name:'apple'},
    {name:'pear'},
    {name:'banner'}
])

 2.2寻找命令(find)

关于find:相当于Mysql的select

                返回的为游标。

                利用在查询的后面添加

                pretty()可使结果呈文档形式

查询条件对照表
SQLmongodb
a=1{a:1}
a<>1{a:{$ne:1}
a>1{a:{$gt:1}}
a>=1{a:{$gte:1}}
a<1{a:{$lt:1}}
a<=1{a:{lte:1}}
  1.        $lt:存在并小于
  2.       $lte:存在并小于等于
  3.       $gt:存在并大于
  4.       $gte:存在并大于等于
  5.       $ne:不存在或存在但不等于
  6.       $in:存在并在指定的数组中
  7.       $nin:不存在或不在指定的数组中
  8.       $or:匹配多个条件只需一个符合集合
  9.      $and:匹配多个条件全部符合
查询逻辑对照表
SQLmongodb
a=1 AND b=1{a:1,b;1}或{$and:[{a:1},{b;1}]}
a=1 OR b=1{$or:[{a:1},{b;1}]}
 a IS NULL {a:{$exists:false}}
a IN (1,2,3){a:{$in:[1,2,3]}}

 关于find搜索子文档可采用f.s_f的形式

 db.fruit.insert(
    {
    name:'ztl',
    form:{city:'beijing'
    }
    })

这个时候可采用

 db.fruit.find({'form':{city:'beijing'}}).pretty()

采用下面的会报错

db.fruit.find({"form.city","beijing"}).pretty()

 find命令用于搜索数组中元素

假设有如下数据

db.fruit.insert([
{name:'ztl1',color:['red','green']},
{name:'ztl2',color:['pink','red']}
])

那么我们应该怎么查询呢?

db.fruit.find(
{$or:[{color:'red'},{color:'pink'}]}
).pretty()

 我们已经使用过利用天骄pretty()

使查询结果有更好的显示效果。

我们也可以对查询的结果进行

限制比如:

_id:0即代表不返回_id字段其他也如这

 2.3删除命令(remove)

需要注意的是在使用remove

命令时比如指定条件,否则会报错

eg:

db.fruit.remove({name:'apple'})//删除a为apple的记录

db.fruit.remove({})//删除所有的记录

db.fruit.remove()//报错

 2.4更新文档(update)

使用形式:db.<集合>.update(<查询条件>,<更新字段>)

使用updateOne更新文档,不论有多少个查询条件

只更新第一条查询条件。

使用update有几条查询条件,就修改文档多少条

使用updateOne与update必须携带以下的更新条件

1.$set/$unset

2.$push/$pushAll/$pop

3.$pull/$pullAll

4.$addToSet

否则会报错

更行文档条件
$push增加一个对象到数组底部
$pushAll增加多个对象到数组的底部
$pop从数组的底部删除一个对象
$pullAll如果匹配任意的值,从数组删除对应的对象
.$pull如果匹配指定的值,从数组删除对应的对象
$addToSet如果不存在增加一个对象到数组底部

比如有下面的数据

db.fruit.insert([
    {name:'ztl1'},
    {name:'ztl'},
    {name:'ztl3'}
   ])

可使用以下命令(只更新一个数据)

db.fruit.updateOne({name:'ztl'},{$set:{from:'xa'}})

 3.集合与数组操作

3.1集合操作

创建集合:

db.createCollection(name, options)

或

db.fruit.insert({})

其中name为集合的名字

option:可选参数, 指定有关内存大小及索引的选项

删除集合:

db.collection.drop()

如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。

查看集合:

show collections

 

3.2数据库操作

创建数据库:

use DATABASE_NAME(数据库名称)

如果不存在,则会自动创建

否则切换到指定数据库

删除数据库:

db.dropDatabase()

删除当前数据库,默认为 test,

你可以使用 db 命令查看当前数据库名。

查看数据库:

show dbs

好了这次的文章就到这了
如果觉得还不错的话,帮忙点个关注吧
希望能给博主点赞

🎨,评论🧶,收藏🥼三连一波

 

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式