1. 查看当前数据库的版本号:db.version()
2. 查看当前所在数据库:db 默认是test数据库
3. 查看当前数据库的连接地址:db.getMongo()
4. 查看所有数据库:show databases / show dbs
注:数据库中如果没有数据,不会显示

5. 切换数据库:use 数据库名
注:如果没有这个数据库,会先创建再切入 --- 数据库的隐式创建

6. 创建集合:db.createCollection(集合名)
7. 查看集合:show tables / show collections
8. 插入文档:
db.集合名.insert({k:v})
db.集合名.save({k:v})
注:如果想要插入多条数据,可以将对个对象放到一个数组中,例如:db.集合名.insert([{},{},……])
注:如果插入数据的集合不存在,会先创建再插入 --- 集合的隐式创建

9. 查询数据:db.集合名.find()

10. 查看当前数据库的状态:db.stats()

11. 删除集合:db.集合名.drop()

12. 删除当前所在的数据库:db.drop Database()

13. 修改数据/更新数据:db.集合名.update(query,update【,upsert,multi】)
query:必要参数,条件(小于:$lt,大于:$gt,等于:$eq,不等于:$ne,大于等于:$gte,小于等于:$lte)
update:必要参数,更新的数据
$set:设置值 $inc:增长值 $rename:重命名 $unset:删除

upsert:可选参数,是一个布尔值,作用:如果不存在update记录,是否插入更新的数据。
true:代表插入 false:代表不插入 默认值是false

multi:可选参数,是一个布尔值,作用:是否将查询出来的符合条件的数据,全部更新?
true:全部更新 false:更新第一条 默认值是false

14. 删除文档:db.集合名.remove(query[,justOne])
query:条件 必要参数
justOne:可选参数,代表是否只删除一条数据,是一个布尔值,默认是false
db.集合名.remove({}) 删除全部文档
db.集合名.remove({条件}) 删除全部符合条件的文档
db.集合名.remove({条件},true/false) 是否删除一条数据

15. 查询文档:find([query,projection])
db.集合名.find() 查询所有文档
db.集合名.find(query) 查询所有符合条件的文档
db.集合名.find(query,{k:0(不显示)/1(显示)})
注:find()方法查询时,查询出来的数据是一行显示的,可以使用pretty()将数据格式化输出

db.集合名.findOne([query,projection]) 只查询一条数据,返回的数据格式是格式化之后的形式
findOne()不能和pretty()结合使用

16. MongoDB中AND条件使用:多个条件以逗号形式隔开
Mysql:select * from 表 where xx and xx
MongoDB:db.集合名.find({k1:v1,k2:v2,……})

17. MongoDB中OR条件使用:使用$or
MySQL:select * from 表 where xx or xx
MongoDB:db.集合名.find({'$or':[{'k1':'v1'},{'k2':'v2'},……]})

18. 查询某一列去重后的数据
MySQL:select distinct 字段 from 表
MongoDB:db.students.distinct(k)

19. MongoDB中的限制查询
MySQL:select * from 表 limit 2
MongoDB:db.集合名.find().limit(n) 查询前n条数据

20. MongoDB中的跳过方法:skip()
MongoDB:db.students.find().skip(n) 跳过前n条数据,从第n+1条开始查询

21. MongoDB的分页
MySQL:select * from 表 limit 2,3
MongoDB:db.students.find().skip(n).limit(m) 跳过前n条数据,从第n+1条开始查询,查询m条

22. MongoDB中的排序
MySQL:select * from 表 order by 字段 asc/desc
MongoDB:db.students.find().sort({'k':1(正序)/-1(倒叙)})

23. MongoDB中的统计方法:
MySQL:select count(*) from 表
MongoDB:db.students.find().count()

24. MongoDB中的模糊查询:
MySQL:select * from 表 where 字段 like %xxx%
MongoDB:db.集合名.find({'k':/xxx/})

mongodb的基本命令与常规操作的更多相关文章

  1. mongodb基础整理篇————常规操作[二]

    前言 简单整理一下常规操作. 正文 虽然一般说写代码看的是思想,但是呢,如果不知道mongodb 有哪些常用的操作,那么你怎么能知道mongodb是否符合你的需求,比如说如果聚合功能都没有,你得自己写 ...

  2. Mongodb常规操作【一】

    Mongodb是一种比较常见的NOSQL数据库,数据库排名第四,今天介绍一下Net Core 下,常规操作. 首先下C# 版的驱动程序 "MongoDB.Driver",相关依赖包 ...

  3. Linux 下的 netfilter 认识与常规操作

    Linux 下的 netfilter 认识与常规操作 前言 博客写到今天,1年7个月.可是包含所有写作经历,这个时间线可以达到三年. 上次更新了一篇 "镇站之宝" ,也是本站阅读量 ...

  4. dotnet core 使用 MongoDB 进行高性能Nosql数据库操作

    好久没有写过Blog, 每天看着开源的Java社区流口水, 心里满不是滋味. 终于等到了今年六月份 dotnet core 的正式发布, 看着dotnet 社区也一步一步走向繁荣, 一片蒸蒸日上的大好 ...

  5. MongoDB 基础 -安全性-(权限操作)

    和其他所有数据库一样,权限的管理都差不多一样.mongodb存储所有的用户信息在admin 数据库的集合system.users中,保存用户名.密码和数据库信息.mongodb默认不启用授权认证,只要 ...

  6. FTP服务器常规操作

    导读 FTP协议是Internet文件传输的基础,它是由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据.下面就由我给大家简单介绍一下 ...

  7. Apache服务器常规操作

    导读 Apache是世界上排名第一的Web服务器,50%以上的Web服务器都在使用Apache,它几乎可以在所有计算机平台上运行.下面就由我给大家说说Apache服务器的一些常规操作. Apache服 ...

  8. [转]MongoDB for Java】Java操作MongoDB

    原文地址: MongoDB for Java]Java操作MongoDB 开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开 ...

  9. mysql服务器的常规操作

    mysql服务器的常规操作 导读 MySQL是一个小型关系数据库管理系统,目前被广泛的应用在Internet上的中小型网站中,体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,使得许多中小型网站 ...

随机推荐

  1. java面试一日一题:再谈垃圾回收器中的串行、并行、并发

    问题:请讲下java中垃圾回收器的串行.并行.并发 分析:该问题主要考察在垃圾回收过程中垃圾回收线程和用户线程的关系 回答要点: 主要从以下几点去考虑, 1.串行.并行.并发的概念 2.如何考虑串行. ...

  2. GO学习-(18) Go语言基础之并发

    Go语言基础之并发 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因. Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微 ...

  3. OpenResty 最佳实践

    OpenResty 最佳实践 https://moonbingbing.gitbooks.io/openresty-best-practices/content/index.html

  4. 白*衡(Color Constancy,无监督AWB):CVPR2019论文解析

    白*衡(Color Constancy,无监督AWB):CVPR2019论文解析 Quasi-Unsupervised Color Constancy 论文链接: http://openaccess. ...

  5. PyTorch 神经网络

    PyTorch 神经网络 神经网络 神经网络可以通过 torch.nn 包来构建. 现在对于自动梯度(autograd)有一些了解,神经网络是基于自动梯度 (autograd)来定义一些模型.一个 n ...

  6. NVIDIA Jarvis:一个GPU加速对话人工智能应用的框架

    NVIDIA Jarvis:一个GPU加速对话人工智能应用的框架 Introducing NVIDIA Jarvis: A Framework for GPU-Accelerated Conversa ...

  7. 从C到C++过渡的3个原因

    从C到C++过渡的3个原因 3 reasons to transition from C to C++ 几十年来,嵌入式软件工程师们一直在争论他们是否应该使用C或C++.根据2019年嵌入式市场调查, ...

  8. .NET平台系列21:云原生时代 .NET5 雄霸天下

    系列目录     [已更新最新开发文章,点击查看详细] 随着互联网持续高歌猛进,相关技术名词也是层出不穷.微服务.容器化.DevOps.ServerLess.FaaS,这两年最火的当属云原生Cloud ...

  9. postman实现参数化执行及断言处理

    一.假设需要做的测试的参数如下: 注意保存为.csv文件时一定要选择格式为UTF-8 ,避免乱码. 二.输入参数和期望结果在postman中的用法: 注意一定要通过runner的方式进行运行,选择对应 ...

  10. 【Javascript + Vue】实现对任意迷宫图片的自动寻路

    前言 可以直接体验最终效果:https://maze-vite.vercel.app/ 寻路前: 寻路后,自动在图片上生成红色路径,蓝色是探索过的区域: 这里我故意用手机斜着角度拍,就是为了展示程序完 ...