mongodb常用api记录

一.常用api

1. use [database_name] :创建或者切换数据库,如果没有该数据库则在创建的数据库下面创建,可以创建一个空集合也可以,db.createCollection('user')
一个集合的时候自动生成一个数据库。
2. show dbs: 查看数据库列表
3. db: 查看当前使用的数据库名
4. db.dropDatabase(): 删除当前正在使用的数据库
5. exit: 退出和断开数据库连接
6. db.[database_name].help(): 查看当前数据库下面的所有的操作数据的方法

二. 集合的操作(表:collections)

1. show collections : 查看当前数据库下面的所有集合(表)
2. db.createCollection(collection_Name):在当前数据库下面创建一个空集合
3. db.[collection_name].insert(document(json文档)) : 在当前数据库下面创建一个自
定义的集合(如果这个集合不存在)并且同时插入数据,支持单个对象或者是一个数组包含的对象.
4. db.[collection_name].find(query, key): 为空则查询该数据库下面选取的集合的所有的json文档;
  - query 查询条件,可以使普通对象,也可以是使用操作符,比如$gt(大于),$gte(大于或等于),
$lt(小于),$lte(小于或等于),$ne(不等于),栗子:
db.school.find({age:{$gt:30}})查询当前集合所有age属性大于30的文档;
当查询_id时,需要添加ObjectId(),栗子:
  db.school.find({_id:ObjectId('填入ID')}),这样才能匹配到相应的id文档;
  db.school.find({name:'qiansimin'}).count(),表示得到匹配到的文档的个数;
find()还支持正则,栗子:
  db.school.find({name:/qiansimin\d+/}),就会匹配到所有qiansimin+数字的文档
查询条件操作:
  and: {name:'qiansimin',age:14} 不解释
  or: db.school.find({$or: [{name:'qiansimin',age:14]}),查询该集合中 name为qiansimin或者age为14的文档;
limit和skip方法
  limit(): db.school.find({name:'qiansimin'}).limit(3),查询name为qiansimin的前三条文档数据;
  skip(): db.school.find().skip(3),跳过该集合的前三条数据;
sort排序方法:
  db.school.find().sort({age:1}),把该集合按照age字段升序排列,-1的话 就倒叙排列
  - key: {key:1,name:0},例如{name:1,age:1}表示把匹配到的文档只显示name和age字段,其他的
不显示
5. db.[collection_name].count(): 查看当前数据库下面某个集合下面的所有文档的数量
6. db.[collection_name].drop(): 删除当前数据库中的某个集合(表)
7. db.[collection_name].save({}): 保存某个文档(当前集合不存在该_id的文档就保存,
如果已经存在相同_id那么就更新数据,db.[collection_name].insert({})无法做到相同_id
的保存)
8. db.[collection_name].update(query, update, upsert(可选), multi(可选), writeConcern(
可选)):
  - query(json形式): 查询的值,比如写{age:14},那就查到所有的为14的文档,写个空{}就表示查询所有的文档
  - update(json形式): 更新后的值,使用$set和$inc来操作,$set直接更新,$inc在原文档基础上
累加更新,比如{$set:{name:'qiansimin'}}就将文档中的age为14的文档的name字段更新为
qiansimin,再比如{$inc:{age:2}}就把匹配到的所有的文档的age属性在原来的值上加2,如果只填写一个json类型的数据,那么直接覆盖更新成update过后的值
  - upsert(json形式): 默认为false,更新的的字段如果查询到的这个文档没有该字段的话是否重新插入,false时找不到就算了,true找不到那么就插入一个
  - multi(json形式): 是否只更新查询出来的第一条数据,默认为false, true的话就更新所有查询出来的
文档
栗子:db.school.update({age:15},{$inc:{age:5}},{multi:true}),在school的集合
中找到所有的age等于15的文档然后把他们的age属性都加5
9. db.[colletion_name].remove(query, justone): 空的话就表示把这个集合给删空,
  - query(json形式): 查询条件
  - justone(json形式): 设为true或1, 那么只删除匹配到的第一个文档,默认为false, {justone: true}
10. db.[collection_name].findeOne(): 查询集合下的第一条数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,072评论 25 707
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,622评论 18 399
  • 连岳云鹏在说相声的时候都能唱《家书》唱哭,又到了百家团聚的时候了。想见的家人却只能在梦里见到了。 昨天晚上梦见爸,...
    我爱吃鱼吃火锅阅读 171评论 0 0
  • 寡人已经学会打吊瓶了,hiahiahia
    王贱贱述阅读 46评论 11 0
  • 普陀山是中国著名的佛教圣地,普陀山是全国最著名最灵异的观音道场,佛教圣地,寺院无论大小,都供奉观音大士,可以说是“...
    谢小糊阅读 2,894评论 0 1