美文网首页
mongo sql用法

mongo sql用法

作者: endlesswork | 来源:发表于2020-04-14 16:33 被阅读0次

增加

  • 单条插入
db.user.insert({
    "name": "Mac1",
    "serialNumber":NumberLong("1000000000000001"),
    "scoreMap":{
          "english": {
            "score": 87
          },
          "chinese": {
            "score": 99
          }
    },
    "birthday":"0322",
    "age":15
});

插入结果如下


image.png
  • 多条插入
db.user.insertMany([{
    "name": "Macmac",
    "serialNumber": NumberLong("1000000000000002"),
    "scoreMap": {
        "math": {
            "score": 73
        },
        "chinese": {
            "score": 62
        }
    },
    "checks": [{
        "month": 1,
        "score": "A"
    }, {
        "month": 2,
        "score": "B"
    }],
    "age": 17
}, {
    
    "name": "macMac",
    "serialNumber": NumberLong("1000000000000003"),
    "scoreMap": {
        "sports": {
            "score": 88
        },
        "chinese": {
            "score": 95
        }
    },
    "checks": [{
        "month": 1,
        "score": "S"
    }, {
        "month": 2,
        "score": "C"
    }, {
        "month": 3,
        "score": "S"
    }],
    "age": 18
}]);

结果如下


image.png

查询

假设我们有个mysql数据库也包含个user表,也包含name、serialNumber、age这些字段,我们来看下sql和mongo的语法差异

sql mongo 含义
select * from user where 1=1; db.user.find(); 查询全部
select * from user where name = "Mac"; db.user.find({"name":"Mac"}); 查询姓名为Mac的
select * from user where age < 17 db.user.find({"age":{$lt:17}}); 查询年龄小于17
select * from user where age < = 17 db.user.find({"age":{$lte:17}}); 查询年龄小于等于17
select * from user where age > 17 db.user.find({"age":{$gt:17}}); 查询年龄大于17
select * from user where age >= 17 db.user.find({"age":{$gte:17}}); 查询年龄大于等于17
select * from user where age <> 17 db.user.find({"age":{$ne:17}}); 查询年龄不等于17
select * from user where name like "Mac%"; db.user.find({"name":/^Mac/});

db.user.find({"name":{ $regex:/^Mac/}});
查询名字以Mac开头的。在mongo中,db.user.find({"name":/^Mac/i});加i代表忽略大小写,也意味着mac mAC MAC等这样开头的也会被查询出来
select * from user where name like "%Mac"; db.user.find({"name":/Mac$/});

db.user.find({"name":{ $regex:/Mac$/}});
查询名字以Mac结尾的
select * from user where name like "%Mac%"; db.user.find({"name":/Mac/});

db.user.find({"name":{ $regex:/Mac/}});
查询名字包含Mac的
select * from user where age < 18 and name like "Mac%"; db.user.find({"age":{$lt:18},"name":/Mac/});

db.user.find({$and:[{"age":{$lt:18},"name":/Mac/}]});
查询年龄小于18的 并且 名字以Mac开始的
select * from user where age < 17 or age >17; db.user.find({$or:[{"age":{$lt:17}},{"age":{$gt:17}}]}); 查询年龄小于17或者大于17的
select * from user where name = 'Mac1' and (age < 17 or age >17); db.user.find({"name":"Mac1",$or:[{"age":{$lt:17}},{"age":{$gt:17}}]}); 查询名字为Mac1并且年龄小于17或者大于17的

相关文章

  • mongo sql用法

    增加 单条插入 插入结果如下 多条插入 结果如下 查询 假设我们有个mysql数据库也包含个user表,也包含na...

  • 优化网站加载速度-mongo篇

    笔者项目用到技术点 php+mongo+sql+redis mongo的索引 首先说明一下,使用mongo不加搜索...

  • 数据库交互(总结)

    防SQL注入知乎详解 常用数据库交互代码 mysql mongo mongo知识大全 redis

  • [Oracle]中的循环用法

    [Oracle]中的GOTO用法[sql] ORACLE中的FOR循环用法[sql] ORACLE中的WHILE循...

  • 一、数据库之SQL语句

    一、SQL创表 二、SQL-插入 三、SQL-修改 四、SQL-删除 五、SQL-查询 以上是SQL语句常用的用法...

  • sql语句中as的用法和作用

    sql语句中as的用法和作用

  • SQL with as 用法

    WITH AS短语,也叫做子查询部分(subquery factoring),是用来定义一个SQL片断,该SQL片...

  • SQL用法

    网址http://www.cnblogs.com/Sunnor/p/4693852.html

  • sql用法

    创建数据库 创建之前判断该数据库是否存在 if exists (select * from sysdatabase...

  • mongo概述

    概述 mongo是一个no-sql型数据库 工具 1、可视化工具 robomongo

网友评论

      本文标题:mongo sql用法

      本文链接:https://www.haomeiwen.com/subject/ytfnjhtx.html