欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MongoDB最简单的增删改查

程序员文章站 2022-05-30 12:12:38
...
查询

laber指的是表名,name和delFlag指的是字段名
其实使用表来描述,不是很准确,mysql或者oracle等关系型数据库中的表,可以理解为这里的集合(比如:laber在mysql中指的是表,在这里等价与laber集合或者对象,name在oracle中是字段,在这里可以理解为属性[自己的理解,可能不准确])

  • 基础查询
db.getCollection('laber').find({"name":"宝马"},{"delFlag":"0"}).pretty();
等价于:
select * from laber where name='宝马' and delFlag='0';
------------------------------------------------------------------------
db.getCollection('laber').find({$or:[{"name":"宝马"},{"delFlag":"0"}]}).pretty();
等价于:
select * from laber where name='宝马' or delFlag='0';
  • 大于等于小于查询

    这里注意:下面在判断大于小于等于的时候注意是判断的字符串还是数字或者其他类型,不是一个类型的话是查不出来的
  • 因为属性里面存储的不一定是字符串或者数字类型或者是其他的类型

(>) 大于 $gt
(<) 小于 $lt
(>=) 大于等于 $gte
(<= ) 小于等于 $lte
db.getCollection('laber').find({"searchNum":{$gt:"0"}}).pretty();
等价于:
select * from laber where searchNum > '0'
------------------------------------------------------------------------
db.getCollection('laber').find({"searchNum":{$gte:0}}).pretty();
等价于:
select * from laber where searchNum >= 0
------------------------------------------------------------------------
db.getCollection('laber').find({"searchNum":{$lt:"1000"}}).pretty();
等价于:
select * from laber where searchNum < '1000'
------------------------------------------------------------------------
db.getCollection('laber').find({"searchNum":{$lte:100}}).pretty();
等价于:
select * from laber where searchNum <= 100
  • like查询
db.getCollection('laber').find({"name":/宝/});
等价于:
select * from laber where name like "%宝%";
------------------------------------------------------------------------
db.getCollection('laber').find({"name":/^马/});
等价于:
select * from laber where name like "宝%";
------------------------------------------------------------------------
db.getCollection('laber').find({"name":/马$/});
等价于:
select * from laber where name like "%宝";
  • 按照字段/属性类型进行查询
db.getCollection('laber').find({"name":{$type:'string'}});
意思是:
查询laber表中的name字段存储类型为string类型的所有数据。
如果name中存储的是数字或者其他类型是查不出来的。
增加
db.getCollection('laber').insertOne({name:"1111"});
等价于:
insert into laber (name) value ('1111');
修改
db.getCollection('laber').update({"name":"1111"},{$set:{"name":"222"}},flase,true);
[把后面的flase和true去掉那就是只更新查出来的第一条,
比如:db.getCollection('laber').update({"_id_":"1111"},{$set:{"_id_":"222"}});]
等价于:
update laber set name="222" where name="1111"
删除
db.getCollection('laber').remove({"name":"111"})或者db.getCollection('laber').deleteMany({"name":"111"})
等价于:
delete laber where name="111";
db.getCollection('laber').remove({"name":"1111"},1);后面的参数表示只删除一条数据
或者db.getCollection('laber').deleteOne({"name":"111"})