外观
MongoDB $type运算符
MongoDB支持的数据类型如下表。
| 类型 | 数字 | 备注 |
|---|---|---|
| Double | 1 | |
| String | 2 | |
| Object | 3 | |
| Array | 4 | |
| Binary data | 5 | |
| Undefined | 6 | 已废弃。 |
| Object id | 7 | |
| Boolean | 8 | |
| Date | 9 | |
| Null | 10 | |
| Regular Expression | 11 | |
| JavaScript | 13 | |
| Symbol | 14 | |
| JavaScript (with scope) | 15 | |
| 32-bit integer | 16 | |
| Timestamp | 17 | |
| 64-bit integer | 18 | |
| Min key | 255 | Query with -1. |
| Max key | 127 |
我们先向下表中插入如下数据。
test> db.col.insertOne({
... title: 'PHP 教程',
... description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
... by: '菜鸟教程',
... url: 'http://www.runoob.com',
... tags: ['php'],
... likes: 200
... })
{
acknowledged: true,
insertedId: ObjectId("64ce61ef7d3e3193854c6ca6")
}
test> db.col.insertOne({title: 'Java 教程',
... description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
... by: '菜鸟教程',
... url: 'http://www.runoob.com',
... tags: ['java'],
... likes: 150
... })
{
acknowledged: true,
insertedId: ObjectId("64ce61f67d3e3193854c6ca7")
}
test> db.col.insertOne({title: 'MongoDB 教程',
... description: 'MongoDB 是一个 Nosql 数据库',
... by: '菜鸟教程',
... url: 'http://www.runoob.com',
... tags: ['mongodb'],
... likes: 100
... })
{
acknowledged: true,
insertedId: ObjectId("64ce61fd7d3e3193854c6ca8")
}然后使用find查看数据。
test> db.col.find()
[
{
_id: ObjectId("64ce61ef7d3e3193854c6ca6"),
title: 'PHP 教程',
description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: [ 'php' ],
likes: 200
},
{
_id: ObjectId("64ce61f67d3e3193854c6ca7"),
title: 'Java 教程',
description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: [ 'java' ],
likes: 150
},
{
_id: ObjectId("64ce61fd7d3e3193854c6ca8"),
title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: [ 'mongodb' ],
likes: 100
}
]现在我们就可以在查询时指定$type运算符了。
test> db.col.find({"title" : {$type : 'string'}})
[
{
_id: ObjectId("64ce61ef7d3e3193854c6ca6"),
title: 'PHP 教程',
description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: [ 'php' ],
likes: 200
},
{
_id: ObjectId("64ce61f67d3e3193854c6ca7"),
title: 'Java 教程',
description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: [ 'java' ],
likes: 150
},
{
_id: ObjectId("64ce61fd7d3e3193854c6ca8"),
title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: [ 'mongodb' ],
likes: 100
}
]由于上方插入数据时title键的值都为字符串类型,所以三条结果都返回了。