有朋友问我最近为什么都一直在更新mongodb的相关操作教程呢?因为呀,我目前的工作中需要用到呀。
我目前的主要工作会涉及到数据清洗之后的数据验证,一般都是入库到mongodb库中,熟练的掌握mongodb的一些用法的话,可以帮助快速的找到有没有异常数据等,从各个方面去校验数据的质量。
比如:产品文档中有说明某个字段应该是数字类型,那你就可以写查询语句反向查询下是否有不满足要求的数据。
接下来,今天学习mongodb中$type的用法:
查询user表中age字段为string类型的数据:
db.getCollection("user").find({age:{$type:"string"}})
db.getCollection("user").find({age:{$type:2}})
mongo中的常见的类型以及对应在查询语句中可以使用的数字编号关系映射表如下:
以上呢只是一些别人列举的比较常见的枚举值,以后可能还会更新,在使用的时候,如果输入错误的类型进行查询,查询是会报错的。我目前工作中接触到的也就只有数字、字符串、ObjectId、数组、Null类型,其他的有些类型目前我也不知道是啥玩意,等以后接触到了之后可以再做详细的介绍。
MongoDB
-
MongoDB
简介
MongoDB
-在windows电脑本地安装一个
mongodb
的数据库
MongoDB
-通过docker搭建一个用来练习的
mongodb
数据库
MongoDB
-使用mongo/mongosh命令行连接数据库
MongoDB
-快速上手
MongoDB
命令行的一些简单操作
MongoDB
-_id字段的含义介绍
MongoDB
-插入数据insert、insertOne、insertMany、save用法介绍
MongoDB
-表数据查询的基本用法介绍
MongoDB
-查询语句中>、>=、<、<=、=、!=、in、not in用法介绍
MongoDB
-查询语句中逻辑运算符not、and、or、nor用法介绍
MongoDB
-查询语句中$exists以及结合$ne、$nin、$nor、$not使用介绍
字段
类型
判断
db.tb_name.find({"status":{$
type
:"double"}).count()//所有的status
字段
类型
为Double
类型
的
db.tb_name.find({"status":{$
type
:1}).count()//所有status
字段
类型
为Double
类型
的
最近在开发中遇到一个mongo
查询
排序的问题,项目中一些高频访问的热数据是放在
mongoDB
里的,mongo支持很多像
SQL
一样的操作比如sort就对应于
SQL
的order by.
比方我们有一个集合来存放一些书籍信息,集合中有下面这些文档
"_id" : "28041",
"title" : "
Mysql
入门",
MongoDB
数据
类型
查询
— $
type
使用
MongoDB
使用
过程中经常需要根据
字段
的
类型
来
查询
数据, 而
MongoDB
中
查询
字段
类型
是通过$
type
操作符来实现.
$
type
使用
法语:
db.集合名.find({$
type
:
类型
值}); //这里的
类型
值能
使用
Number也能
使用
alias
举个例子:
db.person.find({address:{$
type
:2}}); //
查询
address
字段
数据
类型
为字符串
db.person.find({address:{$
需求:需要从member , memberMessage两个集合中按照memberId,msgTimesTamp 分组 并返回sex , city , msgTimesTamp。member 中有个memberId
字段
是NumberLong
类型
的,memberMessage 中的fromUserId 是String
类型
的。
难点:就是在于 memberId,fromUserId
字段
类型
不一致, 导致连表
查询
不出数据
解决方案就是把fromUserId由String
类型
转为NumberLong 类
每个
数据库
都拥有自己的集合;
每个文档都有一个特殊的键 “_id”,其在所属的集合中是唯一的;
mongo shell 对管理
MongoDB
实例和
使用
MongoDB
的
查询
语言操作数据提供了内置的支持。它也是一个功能齐全的
Java
Script 解释器,用户可以根据需求创建或加载自己的脚本。1、文档是
MongoDB
的核心概念:它是一组有序键值的集合
在
MongoDB
中根据
字段
的数量
类型
来
查询
数据
使用
$
type
操作符来实现,具体
使用
法语:1db.集合名.find({$
type
:
类型
值}) //这里的
类型
值能
使用
Number也能
使用
alias举个例子:12db.person.find({address:{$
type
:2}}) //
查询
address
字段
数据
类型
为字符串db.person.find({address:{$typ...