文章目录

  • 前言
    • MongoDB 语法大全
      • 01、mongodb 数据库链接
      • 02、help查看命令提示
      • 03、如果数据库存在,则切换到指定的数据库;如果数据库不存在,则创建数据库
      • 04、查询所有的数据库
      • 05、查看当前数据库
        • 05::01 查看当前数据库状态
        • 05::02 查看当前数据库版本
        • 05::03 查看当前数据库链接机器
      • 06、插入
      • 07、查询
        • 07::01 查询
        • 07::02 查询只返回一条数据
        • 07::03 条件and查询
        • 07::04 条件or查询
        • 07::05 条件and 和 or 查询
        • 07::06 条件操作符查询
        • 07::07 模糊查询
        • 07::08 $type 操作符查询
        • 07::09 去重某列重复数据查询
        • 07::10、in、not in 查询
        • 07::11 指定字段返回
      • 08、排序
        • 08::01、升序
        • 08::02、降序
      • 09、查询前3条数据
      • 10、查询3条以后数据
      • 11、分页
      • 12、查询当前集合总数
      • 13、删除当前数据库
      • 14、新建集合
      • 15、删除集合
      • 16、获取当前db指定名称的聚集集合
      • 17、获取当前db所有聚集集合
      • 18、查询当前集合数量
      • 19、查询当前集合的数据空间大小
      • 20、查询当前集合总大小
      • 21、查询当前集合存储空间大小
      • 22、集合重命名
      • 23、查询当前集合所在数据库
      • 24、插入语法
      • 25、修改
        • 25::01、修改集合中现有的文档
        • 25::02、根据过滤器更新集合中的单个文档
        • 25::03、更新与集合指定的筛选器匹配的所有文档
      • 26、删除
      • 27、for循环
      • 28、新建普通,复合,唯一索引、查询,删除索引
      • 29、添加用户

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


MongoDB 语法大全

01、mongodb 数据库链接

格式:mongodb:// [username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]

其中mongodb:// 是必须要有的。
username:password@ : -可选项 如果设置,链接数据库服务后会尝试登录该数据库
database :-可选项 如果指定username:password@ 链接验证指定数据库,不指定链接test数据库
options :链接选项,如果不使用database 前面需加上/,所有链接选项都是键值对name=value,多个选项时,以&或;分隔。

02、help查看命令提示

help();
db.help();
db.新建集合.help();
例子:db.yangzhenyu.help();

03、如果数据库存在,则切换到指定的数据库;如果数据库不存在,则创建数据库

use 数据库名;
use yangzhenyu

04、查询所有的数据库

// 01 插入一条数据,否则show dbs;不显示
db.yangzhenyu.insert({"name":"hello world!!!"});
// 02 查询所有数据库
show dbs;

05、查看当前数据库

db;或者 db.getName();

05::01 查看当前数据库状态

db.stats();

05::02 查看当前数据库版本

db.version();

05::03 查看当前数据库链接机器

db.getMongo();

06、插入

db.集合.insert();
在mongoDB中,不需要主动创建集合,当你插入文档时会自动创建
db.yangzhenyu.insert({"xxx":"yang","age":"27","yyy":"zhenyu"});

07、查询

07::01 查询

db.集合.find()
db.yangzhenyu.find();

07::02 查询只返回一条数据

db.集合.findOne();
db.yangzhenyu.findOne()

07::03 条件and查询

db.集合.find({"key1":"name1","key2","name2"});
db.yangzhenyu.find({"xxx":"yang","age":"27"})

07::04 条件or查询

db.集合.find({$or:[{"key1":"name1"},{"key2":"name2"}]
})db.yangzhenyu.find({$or:[
{"name":"hello world!!!"}, {"age":"27"}
]
})

07::05 条件and 和 or 查询

db.集合.find({"key0":"name0",$or:[{"key1":"name1"},{"key2":"name2"}]
})
相当于: key0=name0 and (key1=name1 or key2=name2)
db.yangzhenyu.find({"age":"27",
$or:[
{"name":"hello world!!!"}, {"age":"27"}
]
})

07::06 条件操作符查询

> 大于 $gt
< 小于 $lt
>= 大于等于 $gte
<= 小于等于 $lte
!= 不等于 $ne
db.yangzhenyu.find({"age":{$gt:"26"}});

07::07 模糊查询

db.集合.find({"字段":/查询内容/});// 模糊查询-包含2
db.yangzhenyu.find({"age":/2/
});

// 模糊查询-以2开头
db.yangzhenyu.find({"age":/^2/
});

//模糊查询-小写kul
db.yangzhenyu.find({"yyy":/kul/
});

//模糊查询-忽略大小写
db.yangzhenyu.find({"yyy":/kul/i
});

07::08 $type 操作符查询

$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果
准备:
创建集合typeTest,并插入两条数据
db.typeTest.insert({"name":"yangzhenyu","age":"27"});
db.typeTest.insert({"name":"yangzhenyu","age":27});
查询:
db.typeTest.find();

查询age字段为String的数据
db.yzyTest.find({"age":{$type:'string'
}});

查询age字段为int的数据
db.typeTest.find({"age":{$type:'int'
}});

07::09 去重某列重复数据查询

db.yangzhenyu.find();

age字段 去重查询:
db.yangzhenyu.distinct("age");

07::10、in、not in 查询

in查询:
db.集合.find({_id:{$in:["no1","no2"]}
});
not in 查询
db.集合.find({_id:{$nin:["no1"]}
});

07::11 指定字段返回

db.yzy.find({},{name:1});
db.集合.find(
query,
projection
)
projection: 指定返回字段
格式: {字段1:1,字段2:1}

08、排序

08::01、升序

查询集合.sort({字段名:1})
db.yangzhenyu.find().sort({age:1})

08::02、降序

查询集合.sort({字段名:-1})
db.yangzhenyu.find().sort({age:-1})

09、查询前3条数据

查询集合.limit(3);
db.yangzhenyu.find().limit(3);

10、查询3条以后数据

查询集合.skip(3);
db.yangzhenyu.find().skip(3);

11、分页

查询集合.limit(pagesize).skip(第几页的pagesize);
//limit相当于pagesize skip相当于第几页的pagesize
1-3
db.yangzhenyu.find().limit(3).skip(0);

3-6
db.yangzhenyu.find().limit(3).skip(3);

6-9
db.yangzhenyu.find().limit(3).skip(6);


相当于mysql的limit函数

12、查询当前集合总数

查询集合.count();
db.yangzhenyu.find().count();

13、删除当前数据库

db.dropDatabase();

14、新建集合

//创建固定集合
db.createCollection("yzyTest",{capped:true,size:6142800,max:1000});
capped - 如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值,会自动覆盖最早的文档,当值为true时,必须指定size参数。
size - 为固定集合指定一个最大值,即字节数。
max - 指定固定集合中包含文档的最大数量。
注:在插入文档时,mongoDB首先检查固定集合的size字段,然后检查max字段。
//查看已有集合
show collections;

//在mongoDB中,不需要主动创建,当你插入文档时会自动创建
db.yzyTest1.insert({"name":"yangzhenyu","age":"27"})
//查看已有集合
show collections;

15、删除集合

db.集合.drop();
db.yzyTest1.drop();
//查看已有集合
show collections;

16、获取当前db指定名称的聚集集合

db.getCollection("yzyTest");

17、获取当前db所有聚集集合

db.getCollectionNames();

18、查询当前集合数量

db.yzyTest.count();

19、查询当前集合的数据空间大小

db.yzyTest.dataSize();

20、查询当前集合总大小

db.yzyTest.totalSize();

21、查询当前集合存储空间大小

db.yzyTest.storageSize();

22、集合重命名

db.yzyTest.renameCollection("yzyRenameTest");

show collections;

23、查询当前集合所在数据库

db.yzyRenameTest.getDB();

24、插入语法

//插入一条数据
db.集合.insertOne({_id:"01",name:"yang",age:"12"});
//插入多条
db.集合.insertMany([{_id:"02",name:"yang",age:"12"},{_id:"03",name:"yang",age:"12"}])

25、修改

25::01、修改集合中现有的文档

db.集合.update(<query>,<update>
)
query  :update的查询条件,即where后的语句条件;
update  : 更新值,也可理解为sql update中set后面的语句;
注:默认只更新找到的第一条;例子:
db.yzy.find();

//只更新找到的第一条
db.yzy.update({age:"12"},{$set:{age:"13"}});
db.yzy.find();

25::02、根据过滤器更新集合中的单个文档

实例:
db.yzy.find();

db.yzy.updateOne({age:"12"},{$set:{age:"13"}});
db.yzy.find();

25::03、更新与集合指定的筛选器匹配的所有文档

db.yzy.find();

db.yzy.updateMany({age:"12"},{$set:{age:"13"}});
db.yzy.find();

26、删除

从集合中删除单个文档
db.yzy.deleteOne({age:"13"})

从集合中删除与筛选器匹配的所有文档
db.yzy.deleteMany({age:"13"})

27、for循环

db.yzy.find().forEach(function(item){if(item.age >= 12){db.yzy.updateOne({age:item.age},{$set:{age:"13"}});}}
)

28、新建普通,复合,唯一索引、查询,删除索引

//查询当前db所有聚集索引
db.printCollectionStats();
//创建普通索引
//db.集合.ensureIndex({字段名:1}) 1表示升序、-1表示降序 升序、降序对单索引没有影响,对复合索引有影响
db.yzy.ensureIndex({"name":1});//创建复合索引
//db.集合.ensureIndex({字段1名:1,字段2名:1})
db.yzy.ensureIndex({"name":1,"age":1});//创建唯一索引
//db.集合.ensureIndex({字段名:1}) 1表示升序、-1表示降序
db.yzy.ensureIndex({"age":1},{"unique":true});//删除索引
//db.集合.dropIndex({字段名:1});
db.yzy.dropIndex({"name":1});//查询当前集合所有索引
//db.集合.getIndexes()
db.yzy.getIndexes();

29、添加用户

db.createUser( {user: "sa",pwd: "sa",roles: [ { role: "root", db: "admin" } ]
});

MongoDB 语法大全相关推荐

  1. mongodb查询大全mongo语句

    mongodb查询大全mongo语句 一.前言 虽然这些语句在开发当中不会使用,因为springdataMongoDB封装的非常完美了.但是这里的语句思想和关系型数据库有些区别,所以需要拿出来详细的讲 ...

  2. mongodb语法与spring实现

    mongodb语法 参考文档:https://docs.mongodb.com/manual/reference/ BSON Types BSON Type有2种标识符,整形和字符串 类型 数值 字符 ...

  3. MongoDB语法学习

    MongoDB语法学习 MongoDB官方文档 mongodb语法有很多,如多列索引,查询时可以统计函数,支持多条件查询,但是目前对于多表的查询是暂不支持的,但是可以通过数据冗余来解决多表查询的问题. ...

  4. DB2数据库SQL语法大全推荐word版

    <DB2数据库SQL语法大全推荐word版> 下载地址: 网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731437.html

  5. MongoDB语法与现有关系型数据库SQL语法比较

    MongoDB语法与现有关系型数据库SQL语法比较 MongoDB语法 MySql语法 db.test.find({'name':'foobar'}) select * from test where ...

  6. html设置边框dw,Dreamweaver表格边框设置的css语法大全

    Dreamweaver表格边框设置的css语法大全 具体内容包括:上边框宽度.右边框宽度.下边框宽度.左边框宽度.边框宽度.边框颜色.边框样式.上边框.下边框.左边框.右边框.边框.宽度.高度.有关标 ...

  7. Mysql语法大全(命令行)(简洁、明了、全面)

    Mysql命令行的语法 另外一个Mysql语法大全的版本:点这里 两个Mysql语法大全以及命令行代码!!!基本上学习Mysql没有问题 嘿嘿!学习是一个长期的过程!!!还会继续更新!!! 基本的My ...

  8. 批处理文件语法大全(怎么写Bat文件)

    批处理文件语法大全(怎么写Bat文件) 作者:本站  来源:本站整理  发布时间:2006-11-27 17:05:08  发布人:admin 减小字体 增大字体 扩展名是bat(在nt/2000/x ...

  9. Markdown语法大全(超级版)

    Markdown语法大全(超级版) CSDN的参考文档并不全-- 文章目录 Markdown语法大全(超级版) 概述 设计理念 内联 HTML 语法 特殊字符自动转义 行内语法讲解 注释的表述 代码法 ...

  10. Markdown编辑器语法大全

    一.什么是Markdown? Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber).它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者H ...

最新文章

  1. flex和bison实例分析
  2. lucene构建同义词分词器
  3. PyCharm入门教程——在编辑器中使用拖放
  4. Ubuntu14.04安装QQ2013
  5. scrcpy设置快捷键_scrcpy——Android投屏神器(使用教程)
  6. 基于jQuery上下切换的焦点图—带缩略图悬浮
  7. Python六大框架对比
  8. 获取已发布微信小游戏源码
  9. Effective-MultiType
  10. JAVA-银行卡归属地查询
  11. Tkinter全网最全笔记
  12. 硬件在环(一):HIL起始
  13. 2022年全国职业院校技能大赛:网络系统管理项目 A模块-网络构建(10套样题)
  14. 零基础入门编程神器!苹果的免费编程应用出了Mac版了
  15. 【微信小程序】页面导航
  16. GOOGLE搜索秘籍--高级搜索:site,link,inurl,allinurl,intitle,allintitle
  17. 自动驾驶数据集下载!检测/分割/车道线/交标/车牌/行人识别等
  18. c语言 cdma编码正交的8位码片,关于码分多址CDMA正交码片序列的进一步说明
  19. 5G/NR 频带详解
  20. Fluter 应用调试

热门文章

  1. js msgbox 插件
  2. WordPress评论摘要标签:comment_excerpt
  3. Error opening dll library错误的解决
  4. 怎样练出完美肌肉:[2]完美背肌
  5. Windows MFC 工程应用开发与框架原理完全剖析教程(上)
  6. Scala应用场景以及环境部署
  7. 录屏软件哪个好?快来试试这几款吧!
  8. [dlang](4)自定义的mysql orm工具
  9. ios弧形进度条_iOS圆形进度条
  10. 这群人,用8年讲述体育能有多迷人