前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Robo3T使用小结

Robo3T使用小结

作者头像
Lansonli
发布2021-10-09 12:05:22
7260
发布2021-10-09 12:05:22
举报
文章被收录于专栏:Lansonli技术博客

1,设置时间显示

在未设置前数据内的时间数都比当前时间少8小时。比如2019-2-27 15:00,在MongoDB里面时间就是2019-2-27 7:00 设置很简单,点击Options==>Display Date In...==>将UTC改为Local Timezone即可

右上角这个长条请忽略

2,查询等于

db.getCollection('lessons').find({is_online:1})

大于等于 db.getCollection('lessons').find({"scheduled_at:{$gte:ISODate("2019-01-07T02:00:00.000Z")}})

小于等于 $lte:ISODate("2019-01-07T02:00:00.000Z")

大于或小于,就把后面的e去掉,即:lt gt

3,查询表里的数据条数

db.getCollection('curriculums').find({}).count(); 即,后面加上 .count()

4,col 集合中的数据按字段 likes 的降序排列:

db.col.find({}).sort({"likes":-1})

5,update数据

db.courses.updateMany( { "cid" : "5bc562345dbd0e4618aa9484"}, { set:{字段名:数值}} )

6,查询字段内的字段

数据内的字段是这样的,很多数据里是多个学生,这里就想查询包含学生id是34的:

代码语言:javascript
复制
"teachers" : [ 
        1.0, 
        2.0, 
        3.0
    ],
    "students" : [ 
        {
            "id" : 8,
            "name" : "测试学生3",
            "age" : 8,
            "sex" : "male",
            "region" : "上海"
        }
    ]

想要查出id是34的数据 db.getCollection('classes').find({"students.id":34})

刚还尝试的一个方式是:全文检索 MongoDB 在 2.6 版本以后是默认开启全文检索的,如果你使用之前的版本,你需要使用以下代码来启用全文检索: db.adminCommand({setParameter:true,textSearchEnabled:true}) 对 post_text 字段建立全文索引 db.posts.ensureIndex({post_text:"text"})


db.getCollection('classes').ensureIndex({students:"text"})

对students字段建立全文索引

使用全文索引

db.posts.find({$text:{$search:"runoob"}})

db.getCollection('classes').find({$text:{$search:"23401"}})

搜索内容不对,可能的原因是id是int类型。全文索引是针对string类型的。

7,模糊查询

sql: select * from user where name like "%花%";

mongo:

db.user.find(name:/花/);

例子:查看students里的name包含 ”测试“ 的数据。 db.getCollection('classes').find({"students.name":/测试/}) 若是以a为开头的: db.getCollection('classes').find({"students.name":/^测试/})

8,数组查询

实例,一节课的老师的id可能有多个,这样: "teachers" : [ 391, 659, 1534 ] 需求:查询包含老师id为1534的所有的数据 很简单~ db.getCollection('classes').find({teachers:1534})

9,查询只显示部分字段

classes表中只显示id和title两个字段 下面的 status:"700" 为查询条件 db.getCollection('classes').find({status:"700"},{_id:1,title:1})

10,给数组追加一个数据

需求:给数据内的老师id多加一个1534,即让老师多一节课,如果已经存在了就不添加了。

db.getCollection('classes').update({"_id" : ObjectId("5bc995e391e99773f9096114")},{$addToSet:{ "teachers":NumberInt(1539)}})

这里使用的是$addToSet

添加2个数据。需要和$each配合

db.getCollection('classes').update({"_id" : ObjectId("5bc995e391e99773f9096114")},{$addToSet:{ "teachers":{$each:[NumberInt(11232),NumberInt(2800)]}

11,查询一个字段为不同值的时候

需求:title为‘K2D23’或‘K2D41’或’S1050‘的数据

db.getCollection('classes').find({title:{$in:['K2D23','K2D41','S1050']}})

这里使用的是$in

12,更多网站

MongoDB 学习笔记(三):查询 这个文章看了,就发现查询里,还有很多内容的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1,设置时间显示
  • 2,查询等于
  • 3,查询表里的数据条数
  • 4,col 集合中的数据按字段 likes 的降序排列:
  • 5,update数据
  • 6,查询字段内的字段
  • 7,模糊查询
  • 8,数组查询
  • 9,查询只显示部分字段
  • 10,给数组追加一个数据
  • 11,查询一个字段为不同值的时候
  • 12,更多网站
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档