mongoDB高级查询$type4array使用解析
今天在使用mongoDB高级查询$type:符号 -- 4代指Array类型发现一个问题。
$type符号:
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。
下面是mongoDB可使用类型参照表,图来自mongoDB菜鸟教程。

我使用的是mongoDB shell version是2.6.10版本比较老,不能使用insertOne/Many,deleteOne/Many等这些新方法。
因此下了个可视化工具robomongodb,这是官方下载地址:https://robomongo.org/download,一般下载windows版就行。
下面附一下,怎么链接你的Linux:
1.先解压到桌面,顺便给大家展示下我的北极星小姐姐

2.运行这个图标:
放大再放大,还是很可爱的@·@
3.接下来的next,遇到填的当作没看见,最后finish。
4.接下来会看到这个界面,上面是我的已经连上的。请忽略下面两个鬼花狐是Connection和Cancel

5.打开你的linux VMware ,确保输入mongo可以进入,mongodb的环境安装太复杂就不一一介绍,
一般去公司也是装好的。
6.假设VMware上有了,下面输入ifconfig这条命令,如果你也比较懒,请输入if后Tab键,看到你的host记住
7.找到这个配置文件mongod.conf,输入这个命令:whereis mongodb,我的会看到/etc/mongodb.conf,
但不需要ta,在同目录下(/etc)有个mongod.conf长的太像了,接着输入命令:sudo vim /etc/mongod.conf,
找到下面有个ip127.0.0.1改成0.0.0.0,vim命令要是不熟subline打开改一下就行,保存关闭。
8.最后,打开robo看上面这个图上面的蓝色小字create,到下面的界面,起个名,
输入刚记住的ip,点test测试下就连接上了。

下面到正题,待会用上面的可视化工具插入以下数据(假如你玩熟了这个工具,so easy的!):
点你创建的collections中的表,右侧会出现一个输入框改为:db.你的表名.insertMany([中间插入下面的代码])
可适当调下缩进美观。数据有了,下面重启窗口把刚刚那个表名点两下,输入框输入语句:db.你的表名.find({readings:{$type:4}})
>>>输入只有两条数据是符合Array,_id为1和3的,虽然,这5条数据的类型都是array,但是按照例子结果导向是列表的嵌套,
此处易与之前所知的list和array混淆。
{
"_id": 1,
"readings": [
25,
23,
[ "Warn: High Temp!", 55 ],
[ "ERROR: SYSTEM SHUTDOWN!", 66 ]
]
},
{
"_id": 2,
"readings": [
25,
25,
24,
23
]
},
{
"_id": 3,
"readings": [
22,
24,
[]
]
},
{
"_id": 4,
"readings": []
},
{
"_id": 5,
"readings": 24
}
以上是mongoDB官网实例,英文文档,中文文档没有这个例子。
https://docs.mongodb.com/manual/reference/operator/query/type/
>>>补充一下:刚上面截图我有两个ip链接着,下面是我的阿里云服务器,如果你有阿里云服务器的话,连接也是很容易的,
只需要在你的阿里云控制台安全组设置mongoDB的端口号,因为你是外部连接阿里云所以需要把这个27017端口加入进去。
具体操作不会的可以留言哦~。~
mongoDB高级查询$type4array使用解析的更多相关文章
- mongodb高级查询
前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客 MongoDB下载安装与简单增删改查 前奏:启 ...
- mongodb 高级聚合查询
mongodb高级聚合查询 在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysq ...
- mongodb的高级查询
db的帮助文档 输入:db.help(); db.AddUser(username,password[, readOnly=false]) 添加用户 db.auth(usrename,passwor ...
- 大型运输行业实战_day04_2_高级查询
1.高级查询最总效果 2.高级查询步骤 2.1页面输入框显示 开始车站:<input id="startStation" type="text" valu ...
- MongoDB高级查询用法大全
转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册: http://www.mongodb.org/d ...
- DataBase MongoDB高级知识-易使用
MongoDB高级知识-易使用 mongodb是一个面向文档的数据库,而不是关系型数据库.不采用关系模型主要是为了获取更好的扩展性.当然还有其他的一些好处. 与关系型数据库相比,面向文档的数据库不再有 ...
- DataBase MongoDB高级知识-易扩展
MongoDB高级知识-易扩展 应用程序数据集的大小正在以不可思议的速度增长.随着可用宽带的增长和存储器价格的下跌,即使是一个小规模的应用程序,需要存储的数据也可能大的惊人,甚至超出了很多数据库的处理 ...
- DataBase MongoDB高级知识
MongoDB高级知识 一.mongodb适合场景: 1.读写分离:MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务器上,自动同步数据.Primary和Secondary ...
- jqgrid自定义列表开发=》实现高级查询
标题已指出本文要说的三件事,首先是主角jqgrid,将应用在自定义列表中,重点介绍如何实现高级查询. 使用jqgrid实现自定义列表分为两大步骤,首先是要根据业务完成jqgrid的对象定义,即列表的描 ...
随机推荐
- 关于atom
以前老听别人说atom这款编辑器如何如何的好用,今天特地试了下,结果一不小心将顶部的工具栏给隐藏了,弄了半天都没弄出来.后来就在网上到处寻找帮助,试试这个试试那个,终于弄好了,其实是这样的. 首先在任 ...
- java如何获取一个对象的大小
When---什么时候需要知道对象的内存大小 在内存足够用的情况下我们是不需要考虑java中一个对象所占内存大小的.但当一个系统的内存有限,或者某块程序代码允许使用的内存大小有限制,又或者设计一个缓存 ...
- SSM手把手整合教程&测试事务
自打来了博客园就一直在看帖,学到了很多知识,打算开始记录的学习到的知识点 今天我来写个整合SpringMVC4 spring4 mybatis3&测试spring事务的教程,如果有误之处,还请 ...
- 短时间内多个请求状态更新,导致react 不能及时响应问题总结
个人总结 这段时间项目中遇到这样一个问题,旧项目中增加了一个聊天对话的模块,这是其他同学负责的部分,因为要有消息提醒,所以做了个轮询.消息提示因为是页头部分,所以每个模块都会引用到.这是背景. 现象 ...
- api接口token验证
接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效: 2.因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程: 3.有点接口需要用户登录 ...
- TP传输的两种模式
主动模式(active): 我们知道,FTP是由TCP封包的模式连接,TCP 这种封包由于需要经过 Server 端与 Client 端两边的『三次握手』之后,才能确定联机,也就是需要执行AC ...
- VUE之ECMAScript6(es6)
es6:es:EMCAScript 6 (es2015)Emca:国际标准组织 1.常量和变量 const a = "hello" let:定义一个块级作用域的变量 需要先定义再使 ...
- 一.初识java
1.框架结构 2.main方法 3.转义符 public class Dome01 { public static void main(String[] args) { //main方法, ...
- 遇到安装app不识别的情况
一般->blokfile->证书设定设置
- 【fail2ban】使用fail2ban进行攻击防范
使用fail2ban进行攻击防范 转自:https://kyle.ai/blog/6215.html 最近总有一些无聊的人,会来扫描一下我的服务器,看有没有啥漏洞可以利用的... 可以看到类似这样的4 ...