zoukankan      html  css  js  c++  java
  • mongodb linux基本启动 基础增删改 mysql语法的对比

    一、主流数据源类型

     还存在自定义数据源以及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

  • 相关阅读:
    c# tabcontrol事件以及上下文菜单
    RDBMS架构的开源DW/DSS引擎列表
    spider RPC管理接口
    spider RPC高级特性
    linux TCP: time wait bucket table overflow
    设计一个较好的框架的难点之一--API兼容性的设计
    windows 7/10下安装oracle 10g
    mybatis同时启用mapperscanner和传统DAO
    windows根据端口号找进程
    The POM for XXX:jar:${com.ld.base.service.version} is missing, no dependency information available
  • 原文地址:https://www.cnblogs.com/wzx1blog/p/12984226.html
Copyright © 2011-2022 走看看