Loading

MongoDB学习

tips:

MongoDB是一个非关系型(NOSql=Not Only Sql)数据库,它没有关系型数据库MySQL和Oracle中的表与表相连,必须把字段存在表里,MongoDB使用方法去增删改查,且一个名字对应一些值,没有类型限制,像键值对和json串一样。

MongoDB层级分为  数据库>集合>文档     且在默认不设定主键时候自动生成ObjectId,由时间戳生成主键

在增删改查方法中都分比如insertOne()与insertMany()方法,其区别就是增删改查出来的第一条还是查出来的所有,如果默认只使用inset(),则默认为修改一个。

 

 

use <数据库名>;//使用某个数据库

show collections;//查看数据库下的所有集合

show dbs;查看所有数据库以及容量

db.<数据库名>.find(); //查询数据库下的集合和文档

db.<数据库名>.insert();//向数据库中插入数据

db.<数据库名>.update();//更新数据  语法是先查询到数据 再更新

db.<数据库名>.remove();//删除数据

$gt   //大于

$lt  //小于

.limit(a)//设置显示数据的条数   a为10 则只显示10

.skip(a)//设置跳过显示的数据条数  a为10 则跳过10条数据显示

db.<数据库名>.find().skip(10).limit(10)//查询数据库下跳过10条数据后10条数据

db.<数据库名>.update(

  {name:'ok'},{$set{name:'dd'}}//第一个大括号是查询name值为ok的数据,$set表示将这条数据的name设置为dd

);    

db.<数据库名>.find({num:{$gt:30, $lt:50}}) ;//查询数据库中num大于30小于50的数据

 

db.<数据库名>.update(

  {name:'ok'},{$unset{name:'dd'}});    //第一个大括号是查询name值为ok的数据,$unset表示删除这条属性,后面个大括号的name值为多少

);    

 

在MongoDB中可以使用代码中的循环方法写法插入0-999:

var a=[];

for(var i=0;i<999;i++){

  a.push({num:i});

}

db.<数据库名>.insert(a);   //这样写的目的是降低与数据库的交互,提高效率,只与数据库交互一次。

db.<数据库名>.update({name:'aa'},{$inc:{go:400}}); //$inc表示增加数值,这句话代表name值为'aa'的数据中的go属性增加400,如果go增加前为200,执行语句后为600

db.<数据库名>.find({  $or:[  num:{$gt:30} ,  num: {$lt:50}  ]  }) ;//查询数据库中num大于30或小于50的数据

.sort({num:1})//按照num属性升序排列   1代表升序 -1代表降序

db.<数据库名>.find({},{  num:1,_id:0,name:1  }) ;//可以在第二个参数直接控制查询的哪些字段显示或不显示 ,这里代表查询的num列显示,_id列不显示,name列显示,_id默认主键如果不作限制会默认显示

 

posted @ 2020-11-22 01:47  我心如雷  阅读(76)  评论(0)    收藏  举报