MongoDB 教程
在本章節(jié)中,我們將繼續(xù)討論MongoDB中條件操作符 $type。
$type操作符是基于BSON類型來(lái)檢索集合中匹配的數(shù)據(jù)類型,并返回結(jié)果。
MongoDB 中可以使用的類型如下表所示:
類型 | 數(shù)字 | 備注 |
---|---|---|
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 | ? |
我們使用的數(shù)據(jù)庫(kù)名稱為"json" 我們的集合名稱為"col",以下為我們插入的數(shù)據(jù)。
簡(jiǎn)單的集合"col":
>db.col.insert({ title: 'PHP 教程', description: 'PHP 是一種創(chuàng)建動(dòng)態(tài)交互性站點(diǎn)的強(qiáng)有力的服務(wù)器端腳本語(yǔ)言。', by: '小白教程', url: '', tags: ['php'], likes: 200 })
>db.col.insert({title: 'Java 教程', description: 'Java 是由Sun Microsystems公司于1995年5月推出的高級(jí)程序設(shè)計(jì)語(yǔ)言。', by: '小白教程', url: '', tags: ['java'], likes: 150 })
>db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫(kù)', by: '小白教程', url: '', tags: ['mongodb'], likes: 100 })
使用find()命令查看數(shù)據(jù):
> db.col.find() { "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一種創(chuàng)建動(dòng)態(tài)交互性站點(diǎn)的強(qiáng)有力的服務(wù)器端腳本語(yǔ)言。", "by" : "小白教程", "url" : "", "tags" : [ "php" ], "likes" : 200 } { "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高級(jí)程序設(shè)計(jì)語(yǔ)言。", "by" : "小白教程", "url" : "", "tags" : [ "java" ], "likes" : 150 } { "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫(kù)", "by" : "小白教程", "url" : "", "tags" : [ "mongodb" ], "likes" : 100 }
如果想獲取 "col" 集合中 title 為 String 的數(shù)據(jù),你可以使用以下命令:
db.col.find({"title" : {$type : 2}}) 或 db.col.find({"title" : {$type : 'string'}})
輸出結(jié)果為:
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一種創(chuàng)建動(dòng)態(tài)交互性站點(diǎn)的強(qiáng)有力的服務(wù)器端腳本語(yǔ)言。", "by" : "小白教程", "url" : "", "tags" : [ "php" ], "likes" : 200 } { "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高級(jí)程序設(shè)計(jì)語(yǔ)言。", "by" : "小白教程", "url" : "", "tags" : [ "java" ], "likes" : 150 } { "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫(kù)", "by" : "小白教程", "url" : "", "tags" : [ "mongodb" ], "likes" : 100 }