MongoDB 数据类型查询——$type使用

Dec 12, 2017 阅读(853)

标签: MongoDB

在MongoDB中根据字段的数量类型来查询数据使用$type操作符来实现,具体使用法语:

db.集合名.find({$type:类型值})    //这里的类型值能使用Number也能使用alias

举个例子:

db.person.find({address:{$type:2}})         //查询address字段数据类型为字符串
db.person.find({address:{$type:"string"}})  //查询address字段数据类型为字符串

再举个处理 null 的例子:

db.person.find({address:null}); //注意,这样查询会将没有 address 列的数据一并查询出来
db.person.find({address:{$exists:true, $eq:null}}); //这样查询的是 address 列值为null 的数据
db.person.find({address:{$type:10}});      //这样查询的是 pos_money 列值为null 的数据


$type 有效的类型值,如下:

TypeNumberAliasNotes
Double1“double”
String2“string”
Object3“object”
Array4“array”
Binary data5“binData”
Undefined6“undefined”Deprecated.
ObjectId7“objectId”
Boolean8“bool”
Date9“date”
Null10“null”
Regular Expression11“regex”
DBPointer12“dbPointer”Deprecated.
JavaScript13“javascript”
Symbol14“symbol”Deprecated.
JavaScript (with scope)15“javascriptWithScope”
32-bit integer16“int”
Timestamp17“timestamp”
64-bit integer18“long”
Decimal12819“decimal”New in version 3.4.
Min key-1“minKey”
Max key127“maxKey”



官网参考:https://docs.mongodb.com/manual/reference/operator/query/type/index.html