一、主流数据源类型

还存在自定义数据源以及REST接口数据,共6中数据源。

二、linux下启动连接数据库

进去mongodb的目录启动服务:mongo --host 192.168.320.826

显示所有数据库信息:show dbs;

显示当前数据库:db

进入某个数据库:use default;

显示所有集合:show collections;

删除集合:db.xx01.drop();

三、数据库的增删改查

1、基本介绍:非关系型数据库

2、insert插入数据:

db.wzxtest.insert({"name":"xiaoming","age":22,"sex":"男","salary":21111,"time":2020-12-22});

3、count统计总条数:

db.wzxtest.count(),类似mysql语法中的:select count(*) from 表名。

db.wzxtest.count({"name":"C"}),类似mysql语法中的:select count(*) from wzxstudents2 where name="bb"

db.wzxtest.find({"name":"C"}).count()等同于db.wzxtest.count({"name":"C"})

4、select查询:

db.wzxtest.find(),类似mysql语法中的:select * from 表名。

db.wzxtest.find( { } )等同于db.wzxtest.find()

db.wzxtest.find({"name":"C"}),类似mysql语法中的:select * from 表名 where name="C"。

db.wzxtest.find({ name:"C", "age": 23},{ name:1,salary:1,_id:0 }),类似mysql语法中的:select name,age from 表名 where name="C" and age=22。

db.wzxtest.findOne(),类似mysql语法中的:select * from 表名 limit 1。

5、distinct去重

db.wzxtest.distinct("name"),类似mysql语法中的:select distinct name from wzxstudents2

6、运算符比较

不等于:db.wzxtest.find({"name":{"$ne":"C"}})

大于:db.wzxtest.find({"age":{"$gt":30}}),
大于等于:db.wzxtest.find({"age":{"$gte":53}})

小于:db.wzxtest.find({"age":{"$lt":30}})

小于等于:db.wzxtest.find({"age":{"$lte":22}})

在10-30范围内:db.wzxtest.find({"age":{"$gte":10,"$lte":30}})

7、逻辑运算

in:db.wzxtest.find({"name":{"$in":["啊C","wzxs"]}})

not in:db.wzxtest.find({"name":{"$nin":["啊C","wzxs"]}})

and:db.wzxtest.find({"name":"C","sex":"baomi"})

or:db.wzxtest.find({"$or":[{"name":"C"},{"name":"wzxs"}]})

8、通配符查找

查询name包含:db.wzxtest.find({name:/C/}),类似mysql语法中的:select * from wzxstudents2 where name like"%bb%"

查询name开头:db.wzxtest.find({name:/^啊/}),类似mysql语法中的:select * from wzxstudents2 where name like"bb%"

9、投影:选择取出部分字段:参数为字段与值,1表示显示,0表示不显示,_id默认都会显示,类似mysql语法中的:select 字段1,字段2 from 表名。

语法:db.wzxtest.find({},{name:1,age:1})

语法:db.wzxtest.find({},{_id:0,name:1,age:1}),类似mysql语法中的:select * from wzxstudents2 where name="bb"

10、排序:1表示升序,-1表示降序

语法:按age升序:db.wzxtest.find().sort({age:1})

语法:按age降序:db.wzxtest.find().sort({age:-1})

11、limit与skip并部分先后顺序,skip类似与mysql中的start

查询5以后:db.wzxtest.find().skip(5)

查询前5:db.wzxtest.find().limit(5)

查询5-10:db.wzxtest.find().limit(7).skip(4)

12、修改,若id存在则修改不存在即为新增

db.wzxtest.save({"name":"喵咩咩咩11","_id":"5ec4f06266d60018180806a0"})

13、删除记录

删除某条匹配的数据:db.wzxtest.remove({"_id":"5ec4f06266d60018180806a0"})

删除所有数据:db.xxxx.remove({ })

删除匹配到的第一个值:db.wzxtest.remove({"name":"C"},{justOne:true})

14、删除集合

删除集合:db.xxxx.drop(),类似mysql语法中的:drop table

15、集合操作

统计男女人数:db.wzxtest.aggregate({$group:{_id:"$sex"}})

16、索引:1表示升序,-1表示降序

新增索引:db.wzxtest.ensureIndex({name:1})

查询索引:db.wzxtest.getIndexes()

查询耗时:db.wzxtest.find().explain('executionStats')

17、数据库的备份与恢复

备份参数:  -h :服务器地址可以指定端口号,-d:需要备份的数据库地址,-0:备份数据的存在地址

mkdir   testbak

mongodump  -h  1.1.1.1:27017 -d testdb -o /home

恢复数据参数: -h:服务器地址与指定端口号,-d:恢复数据库的实例,--dir :备份数据所在位置

mongorestore -h 1.1.1.2:27017 -d test2 --dir /home

mongodb linux基本启动 基础增删改 mysql语法的对比的更多相关文章

  1. Hibernate基础增删改查语法

    1.创建好Hibernate项目,创建好实体类和测试类,如果不会创建Hibernate项目的同学,点此处:http://www.cnblogs.com/zhaojinyan/p/9336174.htm ...

  2. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  3. MongoDB下载安装与简单增删改查

    Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...

  4. MongoDB学习笔记,基础+增删改查+索引+聚合...

    一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...

  5. MongoDB 基础增删改查

    增删改查 基础操作 use show dbs show collections db[当前所在数据库] 插入文档 db.collection.insert() db.collection.insert ...

  6. Mysql数据库基础增删改查常用语句命令

    Mysql增删改查常用语句命令 一.增删改查语句总览 创建: create(创建数据库) 增:insert(插入表数据) 删:drop.delete(删除表.删除表数据) 改:update.alter ...

  7. MongoDB 3.0.6 安装 增删改查

    下载 安装包MSI http://yunpan.cn/cmhHdTPkXZRM2  访问密码 9b6c 上边提供的是 MongoDB 3.0.6 64Bit 的安装包 安装 如果不想直接安装在C盘.. ...

  8. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

  9. MongoDB的ObjectId和基本操作增删改查(3)

    ObjectId 基本操作增删改查 增: insert 介绍: mongodb存储的是文档,. 文档是json格式的对象. 语法: db.collectionName.insert(document) ...

随机推荐

  1. 一个极其朴素的目录扫描Python脚本

    如果目录扫描工具被某些种类的waf拦截了,可以尝试(只是尝试,不是绝对能过)用脚本发出请求,具体功能看需求而定 原理...没啥原理,也没啥技术含量,相信大家都能看得懂的,nobody knows be ...

  2. 做iOS自动化测试必须知道的一些知识

    WDA facebook wda 2015年Facebook 开源了一款 iOS 移动测试框架WebDriverAgent,WebDriverAgent 在 iOS 端实现了一个 WebDriver ...

  3. kubebuilder实战之三:基础知识速览

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. Thread类中yield方法

    Yield方法可以暂停当前正在执行的线程对象,让其他有相同优先级的线程执行.它是一个静态方法而且只保证当前线程放弃CPU占用而不能保证其它线程一定能占用CPU,执行yield()的线程有可能在进入到暂 ...

  5. 2018秋招C/C++面试题总结

    一.C和C++的区别是什么? C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛.C中函数不能进行重载,C++函数可以重载C++在C的基础上增添类,C是一个结构化语言,它 ...

  6. C++ leetcode接雨水

    双指针算法"接雨水" 链接:https://leetcode-cn.com/problems/trapping-rain-water/ 给定 n 个非负整数表示每个宽度为 1 的柱 ...

  7. 算法入门 - 链表的实现及应用(Java版本)

    之前我们学习了动态数组,虽然比原始数组的功能强大了不少,但还不是完全纯动态的(基于静态数组实现的).这回要讲的链表则是正儿八经的动态结构,是一种非常灵活的数据结构. 链表的基本结构 链表由一系列单一的 ...

  8. 用Java8把List转为Map

    1 import com.yang.test.User; 2 3 import javax.jws.soap.SOAPBinding; 4 import java.util.*; 5 import j ...

  9. 获取本地请求的真实IP地址

    1 /** 2 * 自定义访问对象工具类 3 * 4 * 获取对象的IP地址等信息 5 * 6 */ 7 public class CusAccessObjectUtil { 8 9 /** 10 * ...

  10. 你的域名是如何变成 IP 地址的?

    我的 个人网站 上线了,上面可以更好的检索历史文章,并且可以对文章进行留言,欢迎大家访问 可能大家都知道或者被问过一个问题,那就是很经典的「从浏览器输入 URL 再到页面展示,都发生了什么」.这个问题 ...