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的对象定义,即列表的描 ...
随机推荐
- HDU 2544 最短路(模板题——Floyd算法)
题目: 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你 ...
- 通过JiaThis API接口自定义分享功能按钮实现分享功能本地化
http://www.mdaima.com/jingyan/20.html 最早李雷博客采用的是百度分享插件,为此还发过博文讲解如何在一个页面调用多个按钮分享不同的文章,感兴趣的朋友可以在本站搜索一下 ...
- java垃圾回收的分类
1.线程数 分为串行垃圾回收器和并行垃圾回收器.串行垃圾回收器一次只使用一个线程进行垃圾回收:并行垃圾回收器一次将开启多个线程同时进行垃圾回收.在并行能力较强的 CPU 上,使用并行垃圾回收器可以缩短 ...
- OpenGL进行简单的通用计算实例
博主作为OpenGL新手,最近要用OpenGL进行并行的数据计算,突然发现这样的资料还是很少的,大部分资料和参考书都是讲用OpenGL进行渲染的.好不容易找到一本书<GPGPU编程技术,从Ope ...
- canvas实现倒计时效果示例(vue组件内编写)
前言: 此事例是在vue组件中,使用canvas实现倒计时动画的效果.其实,实现效果的逻辑跟vue没有关系,只要读懂canvas如何实现效果的这部分逻辑就可以了 canvas动画的原理:利用定时器,给 ...
- MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
这两天在MyEclipse中开发Web项目时,连接MYSQL数据库,出现问题:Access denied for user 'root'@'localhost' (using password:YES ...
- maven系列--maven目录
我们在玩maven,首先就是利用maven来管理我们的项目.其实maven并不难,它无非是一种目录结构.所以在本系列开始之前,我们要细致的了解下maven的目录,其实也就是maven的约定. 约定优于 ...
- CSS--使用方式
创建CSS有三种方式: 外部样式表, 内部样式表和内联样式. 外部样式表 先建立外部样式表文件(.css),然后在网页文件的<head>内使用<link>链接.这种方式将样式文 ...
- ORACLE SQL脚本能否修改字段名称?
在看到标题时,你先想想:在ORACLE中能否修改一个表的某个字段名呢?如果能的话,你是否还记得SQL脚本如何写的呢,呵呵,写这个的目的是因为在论坛上看见许多信誓旦旦的说ORACLE中不能修改字段名称, ...
- maven(项目管理工具系列 maven 总结二)
♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...