小言_互联网的博客

MongoDB使用及命令大全(一)

357人阅读  评论(0)

目录

 

 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:


  
  1. db.fruit.insertOne({name: 'apple'})
  2. db.fruit.insertMany([
  3. {name: 'apple'},
  4. {name: 'pear'},
  5. {name: 'banner'}
  6. ])

 2.2寻找命令(find)

关于find:相当于Mysql的select

                返回的为游标。

                利用在查询的后面添加

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

查询条件对照表
SQL mongodb
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:匹配多个条件全部符合
查询逻辑对照表
SQL mongodb
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的形式


  
  1. db.fruit.insert(
  2. {
  3. name: 'ztl',
  4. form:{city: 'beijing'
  5. }
  6. })

这个时候可采用

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

采用下面的会报错

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

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

假设有如下数据


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

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


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

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

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

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

限制比如:

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

 2.3删除命令(remove)

需要注意的是在使用remove

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

eg:


  
  1. db.fruit.remove({name: 'apple'}) / /删除a为apple的记录
  2. db.fruit.remove({}) / /删除所有的记录
  3. 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 如果不存在增加一个对象到数组底部

比如有下面的数据


  
  1. db.fruit.insert([
  2. {name: 'ztl1'},
  3. {name: 'ztl'},
  4. {name: 'ztl3'}
  5. ])

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

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

 3.集合与数组操作

3.1集合操作

创建集合:


  
  1. db.createCollection(name, options)
  2. db.fruit.insert({})

其中name为集合的名字

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

删除集合:

db.collection.drop()

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

查看集合:

show collections

 

3.2数据库操作

创建数据库:

use DATABASE_NAME(数据库名称)

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

否则切换到指定数据库

删除数据库:

db.dropDatabase()

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

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

查看数据库:

show dbs

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

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

 


转载:https://blog.csdn.net/m0_51311990/article/details/127640823
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场