zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MongoDB简单CRUD场景详解数据库

MongoDB数据库 详解 简单 场景 CRUD
2023-06-13 09:20:08 时间

(3)新建集合(两种方式)

 隐式创建:在创建集合的同时往集合里面添加数据 db.c1.insert({name: fuck ,age:29});
显式创建:db.createCollection() db.createCollection( c2 )

(4)显示所有集合:show collections;

(5)db命令:db命令表示当前操作的数据库

(6)插入一对key-value:db.c1.insert({name: fuck ,age:22});当数据库没有集合c1时,mongodb会自动创建集合c1

(7)查找某个集合中的所有数据:db.c1.find();

(8)查找某个集合中的特定条件的数据:  

单条件查询:db.c1.find({name: fuck })
多条件查询:db.c1.find(name: fuck ,age:22)
只关心个别元素的查询db.c1.find({},{ name :1, _id :0})(即查出来只显示name这个字段)
这里的1表示显示,0表示不显示

(9)for循环插入数据:  

 for(var i=0;i 10000;i++)
{
db.c1.insert({name: caonima ,age:i})
}

(10)mongodb支持分页:db.c1.find()只会显示前20条数据

(11)查询集合条数:db.c1.find().count()

(12)查询符合条件的第一条文档:db.c1.findOne({name: fuck })

(13)查询一个集合中age大于5的所有文档:

 db.c1.find({age:{$gt:5}})

 大于等于5

 db.c1.find({age:{$gte:5}})

   小于5

 db.c1.find({age:{$lt:5}})  

小于等于5
db.c1.find({age:{$lte:5}})  

不等于5
   db.c1.find({age:{$ne:5}})

(14)分页查询,查询众多结果中的第5到10条

 db.c1.find().skip(5).limit(5);

备注:第一个5为开始的序号,后面的5为开始序号后的条数

(15)查询集合中的文档,$all主要用来查询数组中包含关系,查询条件中只要有一个不包含就不返回

db.c1.find({ b : { $all : [3,5]}});
 { _id : 11, a : 5 , b : [ 5, 3, 7 ] }
{ _id : 111, a : 1, b : [ 3, 5 ] }

(16)查询集合中的文档,$in,类似于关系型数据库中的IN

 db.c1.find({age:{$in:[12,45]}})

(17)查询集合中不包含的文档,$nin,与$in相反

 db.c1.find({age:{$nin:[12,45]}})

(18)查询集合中或条件的文档,$or,根据条件过滤掉某些数据

 db.c1.find({$or:[{name: fuckyou },{age:11}]})

(19)查询集合中或条件相反的文档,$nor,根据条件过滤掉某些数据

db.c1.find({$nor:[{name: fuckyou },{age:11}]})

(20)查询集合中的文档,$exists,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询某集合中存在name键的所有文档,可以使用db.集合.find({name:{$exists:1}}),指存在键名为name的文档,exists:1表示真,指存在,exists:0表示假,指不存在。

(21)mongodb中的游标:

var x = db.c1.find()
x.hasNext()
x.next()

(22)更新集合中的文档

 db.c1.update({age:33},{$set:{name: caonima }})
将age为33的name改为caonima

(23)更新集合语法

 db.collectionName.update(param1,param2,param3,param4)
 1、需要更新的条件
 2、更新的内容的对象
 3、如果没有符合条件的记录,是否新增一条记录。1为新增,默认值为0
 4、如果有多个符合条件的记录,是否全部更新,(默认值为0),如果全部更新,取值为1

(24)展示mongo语句的扫描条数和查询耗时可调用explain()函数

 db.c2.update({ name : fuck }).explain()

(25)更新集合中的文档,使用 $inc 将集合中name为user1的age加1,其它键不变, $inc表示使某个键值加指定的数值

 db.c2.update({name: caonima },{$inc:{age:2}});

(26)更新集合中的文档, $unset 用来删除某个键

 db.c2.update({name: laji },{$unset:{age:1}},1,0);

 1、需要更新的条件
 2、更新的内容的对象
 3、如果没有符合条件的记录,是否新增一条记录。1为新增,默认值为0
 4、如果有多个符合条件的记录,是否全部更新,(默认值为0),如果全部更新,取值为1

(27)删除orders集合的所有数据,集合还存在,索引都还存在

 db.c2.remove({})

(28)根据条件删除数据

 db.c2.remove({age: 55})

(29)删除集合,集合、索引都不存在了

 db.collection.drop()

(30)更多操作详见db.help()

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3771.html

MongoDB