Robo3T使用小结

2022年05月13日 阅读数:4
这篇文章主要向大家介绍Robo3T使用小结,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。


1,设置时间显示

在未设置前数据内的时间数都比当前时间少8小时。好比2019-2-27 15:00,在MongoDB里面时间就是2019-2-27 7:00sql

设置很简单,点击Options==>Display Date In...==>将UTC改成Local Timezone便可数组


Robo3T使用小结_MongoDB SQL

右上角这个长条请忽略less

2,查询等于

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

大于等于post

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

小于等于测试

​$lte:ISODate("2019-01-07T02:00:00.000Z")​网站

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

3,查询表里的数据条数

​db.getCollection('curriculums').find({}).count();​3d

即,后面加上 .count()

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

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

5,update数据

db.courses.updateMany(

{ "cid" : "5bc562345dbd0e4618aa9484"},

{ set:{字段名:数值}}

)

6,查询字段内的字段

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

"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 学习笔记(三):查询​

这个文章看了,就发现查询里,还有不少内容的。