MongoDB中常用的语句总结-5G云源码分享网

如果下载的源码需要作者授权,请更换源码。

本站免费分享资源不会增加授权

本篇文章给大家带来的内容是关于MongoDB中常用的语句总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

如果觉得Mongodb语句不太好理解,可以和SQL语句进行对比,学起来要容易很多。

1。

查询(find)

查询所有结果

select*fromarticledb。

article。

find()

指定返回哪些键

selecttitle,authorfromarticledb。

article。

find({},{title:1,author:1})

where条件

select*fromarticlewheretitle=mongodbdb。

article。

find({title:mongodb})

and条件

select*fromarticlewheretitle=mongodbandauthor=goddb。

article。

find({title:mongodb,author:god})

or条件

select*fromarticlewheretitle=mongodborauthor=goddb。

article。

find({$or:[{title:mongodb},{author:god}]})

比较条件

select*fromarticlewhereread=100;db。

article。

find({read:{$gt:100}})

$gt()、$gte(=)、$lt()、$lte(=)

select*fromarticlewhereread=100andread=200db。

article。

find({read:{$gte:100,lte:200}})

in条件

select*fromarticlewhereauthorin(a,b,c)db。

article。

find({author:{$in:[a,b,c]}})

like

select*fromarticlewheretitlelike%mongodb%db。

article。

find({title:/mongodb/})

count

selectcount(*)fromarticledb。

article。

count()

不等于

select*fromarticlewhereauthor!

=adb。

article。

find({author:{$ne:a}})

排序

升序:

select*fromarticlewheretype=mongodborderbyreaddescdb。

article。

find({type:mongodb})。

sort({read:-1})

降序:

select*fromarticlewheretype=mongodborderbyreadascdb。

article。

find({type:mongodb})。

sort({read:1})

findOne():除了只返回一个查询结果外,使用方法与find()一样。

2。

创建(insert)

insertintoarticle(title,author,content)values(mongodb,tg,haha)db。

article。

insert({title:mongodb,author:tg,content:haha})

3。

更新(update)

update()

语法:

db。

collecion。

update(query,update[,options])

query:必选,查询条件,类似find中的查询条件。

update:必选,update的对象和一些更新的操作符(如$,$inc。

)等options:可选,一些更新配置的对象。

upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

multi:可选,mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

writeConcern:可选,抛出异常的级别。

简单更新:

updatearticlesettitle=mongodbwhereread100db。

article。

update({read:{$gt:100}},{$set:{title:mongodb}})

save()

db。

article。

save({_id:123,title:mongodb})

执行上面的语句,如果集合中已经存在一个_id为123的文档,则更新对应字段;否则插入。

注:如果更新对象不存在_id,系统会自动生成并作为新的文档插入。

更新操作符

MongoDB提供一些强大的更新操作符。

更新特定字段($set):

updategamesetcount=10000where_id=123db。

game。

update({_id:123},{$set:{count:10000}})

删除特定字段($unset):

注:$unset指定字段的值只需是任意合法值即可。

递增或递减($inc)

db。

game。

update({_id:123},{$inc:{count:10}})//每次count都加10

注意:$inc对应的字段必须是数字,而且递增或递减的值也必须是数字。

数组追加($push):

db。

game。

update({_id:123},{$push:{score:123}})

还可以一次追加多个元素:

db。

game。

update({_id:123},{$push:{score:[12,123]}})

注:追加字段必须是数组。

如果数组字段不存在,则自动新增,然后追加。

一次追加多个元素($pushAll):

db。

game。

update({_id:123},{$pushAll:{score:[12,123]}})

追加不重复元素($addToSet):

$addToSet类似集合Set,只有当这个值不在元素内时才增加:

db。

game。

update({_id:123},{$addToSet:{score:123}})

删除元素($pop):

db。

game。

update({_id:123},{$pop:{score:1}})//删除最后一个元素db。

game。

update({_id:123},{$pop:{score:-1}})//删除第一个元素

注:$pop每次只能删除数组中的一个元素,1表示删除最后一个,-1表示删除第一个。

删除特定元素($pull):

db。

game。

update({_id:123},{$pull:{score:123}})

上面的语句表示删除数组score内值等于123的元素。

删除多个特定元素($pullAll):

db。

game。

update({_id:123},{$pullAll:{score:[123,12]}})

上面的语句表示删除数组内值等于123或12的元素。

更新嵌套数组的值:使用数组下标(从0开始):

{address:[{place:nanji,tel:123},{place:dongbei,tel:321}]}

db。

game。

update({_id:123},{$set:{address。

0。

tel:213}})

如果你不知道要更新数组哪项,我们可以使用$操作符($表示自身,也就是按查询条件找出的数组里面的项自身,而且只会应用找到的第一条数组项):

db。

game。

update({address。

place:nanji},{$set:{address。

$。

tel:123}})

在上面的语句中,$就是查询条件{address。

place:nanji}的查询结果,也就是{place:nanji,tel:123},所以{address。

$。

tel:123}也就是{address。

{place:nanji,tel:123}。

tel:123}

4。

删除(remove)

删除所有文档:

deletefromarticledb。

article。

remove()

删除指定文档:

deletefromarticlewheretitle=mongodbdb。

article。

remove({title:mongodb})

AD:【5G云技术交流群】入群打赏4。

8,打赏备注QQ号,核对后进群

0个人已赞赞一个收藏(0)打赏

入群打赏请备注QQ,购买打赏请备注邮箱