{"id":2447,"date":"2025-03-07T22:39:12","date_gmt":"2025-03-07T14:39:12","guid":{"rendered":"https:\/\/www.laixuexila.com\/?p=2447"},"modified":"2025-03-07T22:39:12","modified_gmt":"2025-03-07T14:39:12","slug":"mongodb-type-%e6%93%8d%e4%bd%9c%e7%ac%a6","status":"publish","type":"post","link":"https:\/\/www.laixuexila.com\/index.php\/2025\/03\/07\/mongodb-type-%e6%93%8d%e4%bd%9c%e7%ac%a6\/","title":{"rendered":"MongoDB\u00a0$type\u00a0\u64cd\u4f5c\u7b26"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>MongoDB <code>$type<\/code> \u64cd\u4f5c\u7b26<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728 MongoDB \u4e2d\uff0c<code>$type<\/code> \u64cd\u4f5c\u7b26\u7528\u4e8e\u5339\u914d<strong>\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b<\/strong>\u3002\u5b83\u5141\u8bb8\u67e5\u8be2<strong>\u67d0\u4e2a\u5b57\u6bb5\u7684\u503c\u662f\u5426\u5c5e\u4e8e\u7279\u5b9a\u7684\u6570\u636e\u7c7b\u578b<\/strong>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. \u8bed\u6cd5<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>{ field: { $type: &lt;dataType&gt; } }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5176\u4e2d\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>field<\/code>\uff1a\u8981\u68c0\u67e5\u7684\u5b57\u6bb5\u3002<\/li>\n\n\n\n<li><code>&lt;dataType><\/code>\uff1a\u53ef\u4ee5\u662f\u6570\u5b57\u7c7b\u578b\u7684 BSON \u4ee3\u7801\u6216\u5b57\u7b26\u4e32\uff08\u4ece MongoDB 3.2 \u5f00\u59cb\u652f\u6301\u5b57\u7b26\u4e32\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. \u5e38\u89c1\u6570\u636e\u7c7b\u578b<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MongoDB <code>$type<\/code> \u64cd\u4f5c\u7b26\u652f\u6301\u591a\u79cd BSON \u6570\u636e\u7c7b\u578b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>BSON \u4ee3\u7801<\/strong><\/th><th><strong>\u7c7b\u578b\u540d\u79f0\uff08\u5b57\u7b26\u4e32\uff09<\/strong><\/th><th><strong>\u8bf4\u660e<\/strong><\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td><code>\"double\"<\/code><\/td><td>\u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570<\/td><\/tr><tr><td>2<\/td><td><code>\"string\"<\/code><\/td><td>\u5b57\u7b26\u4e32<\/td><\/tr><tr><td>3<\/td><td><code>\"object\"<\/code><\/td><td>\u6587\u6863\uff08\u5bf9\u8c61\uff09<\/td><\/tr><tr><td>4<\/td><td><code>\"array\"<\/code><\/td><td>\u6570\u7ec4<\/td><\/tr><tr><td>5<\/td><td><code>\"binData\"<\/code><\/td><td>\u4e8c\u8fdb\u5236\u6570\u636e<\/td><\/tr><tr><td>7<\/td><td><code>\"objectId\"<\/code><\/td><td>ObjectId<\/td><\/tr><tr><td>8<\/td><td><code>\"bool\"<\/code><\/td><td>\u5e03\u5c14\u503c\uff08<code>true<\/code> \u6216 <code>false<\/code>\uff09<\/td><\/tr><tr><td>9<\/td><td><code>\"date\"<\/code><\/td><td>\u65e5\u671f<\/td><\/tr><tr><td>10<\/td><td><code>\"null\"<\/code><\/td><td>\u7a7a\u503c\uff08<code>null<\/code>\uff09<\/td><\/tr><tr><td>11<\/td><td><code>\"regex\"<\/code><\/td><td>\u6b63\u5219\u8868\u8fbe\u5f0f<\/td><\/tr><tr><td>12<\/td><td><code>\"dbPointer\"<\/code><\/td><td>\u6570\u636e\u5e93\u6307\u9488\uff08\u5df2\u5e9f\u5f03\uff09<\/td><\/tr><tr><td>13<\/td><td><code>\"javascript\"<\/code><\/td><td>JavaScript \u4ee3\u7801<\/td><\/tr><tr><td>14<\/td><td><code>\"symbol\"<\/code><\/td><td>\u7b26\u53f7\uff08\u5df2\u5e9f\u5f03\uff09<\/td><\/tr><tr><td>15<\/td><td><code>\"javascriptWithScope\"<\/code><\/td><td>\u5e26\u4f5c\u7528\u57df\u7684 JavaScript \u4ee3\u7801\uff08\u5df2\u5e9f\u5f03\uff09<\/td><\/tr><tr><td>16<\/td><td><code>\"int\"<\/code><\/td><td>32 \u4f4d\u6574\u6570<\/td><\/tr><tr><td>17<\/td><td><code>\"timestamp\"<\/code><\/td><td>\u65f6\u95f4\u6233<\/td><\/tr><tr><td>18<\/td><td><code>\"long\"<\/code><\/td><td>64 \u4f4d\u6574\u6570<\/td><\/tr><tr><td>19<\/td><td><code>\"decimal\"<\/code><\/td><td>Decimal128 \u7cbe\u786e\u5c0f\u6570<\/td><\/tr><tr><td>21<\/td><td><code>\"javascriptWithScope\"<\/code><\/td><td>JavaScript \u4ee3\u7801\uff08\u5df2\u5e9f\u5f03\uff09<\/td><\/tr><tr><td>127<\/td><td><code>\"maxKey\"<\/code><\/td><td>\u6700\u5927\u952e\u503c<\/td><\/tr><tr><td>255<\/td><td><code>\"minKey\"<\/code><\/td><td>\u6700\u5c0f\u952e\u503c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. \u4f7f\u7528\u793a\u4f8b<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u793a\u4f8b 1\uff1a\u67e5\u8be2 <code>price<\/code> \u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u4e3a <code>double<\/code>\uff08\u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570\uff09<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>db.products.find({ price: { $type: \"double\" } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.products.find({ price: { $type: 1 } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u67e5\u8be2 <code>price<\/code> \u5b57\u6bb5\u7684\u7c7b\u578b\u662f <code>double<\/code>\uff08BSON \u4ee3\u7801 <code>1<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u5982\u679c <code>price<\/code> \u4e0d\u662f <code>double<\/code>\uff08\u4f8b\u5982\u662f <code>int<\/code> \u6216 <code>string<\/code>\uff09\uff0c\u5219\u4e0d\u4f1a\u5339\u914d\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u793a\u4f8b 2\uff1a\u67e5\u8be2 <code>name<\/code> \u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u4e3a <code>string<\/code><\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({ name: { $type: \"string\" } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({ name: { $type: 2 } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u53ea\u5339\u914d <code>name<\/code> \u5b57\u6bb5\u503c\u4e3a<strong>\u5b57\u7b26\u4e32<\/strong>\u7684\u6587\u6863\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u793a\u4f8b 3\uff1a\u67e5\u8be2 <code>createdAt<\/code> \u5b57\u6bb5\u662f <code>date<\/code> \u7c7b\u578b<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>db.orders.find({ createdAt: { $type: \"date\" } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.orders.find({ createdAt: { $type: 9 } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ec5\u5339\u914d <code>createdAt<\/code> \u5b57\u6bb5\u503c\u662f\u65e5\u671f\uff08<code>Date<\/code> \u7c7b\u578b\uff09\u7684\u6587\u6863\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u793a\u4f8b 4\uff1a\u67e5\u8be2 <code>tags<\/code> \u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u4e3a <code>array<\/code><\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>db.posts.find({ tags: { $type: \"array\" } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.posts.find({ tags: { $type: 4 } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ec5\u8fd4\u56de <code>tags<\/code> \u5b57\u6bb5\u503c\u662f<strong>\u6570\u7ec4<\/strong>\u7684\u6587\u6863\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u793a\u4f8b 5\uff1a\u67e5\u8be2 <code>age<\/code> \u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u662f <code>int<\/code> \u6216 <code>long<\/code><\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({ age: { $type: &#91;\"int\", \"long\"] } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({ age: { $type: &#91;16, 18] } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$type<\/code> \u5141\u8bb8\u4f20\u9012\u4e00\u4e2a\u6570\u7ec4\uff0c\u67e5\u8be2 <code>age<\/code> \u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u662f <code>int<\/code>\uff0832 \u4f4d\u6574\u6570\uff09\u6216 <code>long<\/code>\uff0864 \u4f4d\u6574\u6570\uff09\u3002<\/li>\n\n\n\n<li>\u5982\u679c <code>age<\/code> \u662f <code>double<\/code> \u7c7b\u578b\uff0c\u5219\u4e0d\u4f1a\u5339\u914d\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u793a\u4f8b 6\uff1a\u67e5\u8be2 <code>status<\/code> \u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u662f <code>bool<\/code>\uff08\u5e03\u5c14\u503c\uff09<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>db.orders.find({ status: { $type: \"bool\" } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.orders.find({ status: { $type: 8 } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ec5\u8fd4\u56de <code>status<\/code> \u5b57\u6bb5\u503c\u4e3a <code>true<\/code> \u6216 <code>false<\/code> \u7684\u6587\u6863\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. <code>$type<\/code> \u7684\u4f5c\u7528<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 <strong>1. \u786e\u4fdd\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u6b63\u786e<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u4f60\u7684\u5e94\u7528\u7a0b\u5e8f\u4f9d\u8d56\u67d0\u4e2a\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\uff0c\u6bd4\u5982 <code>createdAt<\/code> \u5fc5\u987b\u662f <code>date<\/code>\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528 <code>$type<\/code> \u8fdb\u884c\u68c0\u67e5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.orders.find({ createdAt: { $type: \"date\" } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c <code>createdAt<\/code> \u88ab\u5b58\u50a8\u6210\u5b57\u7b26\u4e32\uff0c\u8fd9\u4e2a\u67e5\u8be2\u5c31\u4e0d\u4f1a\u8fd4\u56de\u8be5\u6587\u6863\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 <strong>2. \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u7684\u5f02\u5e38\u6570\u636e<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728 MongoDB \u4e2d\uff0c\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u53ef\u80fd\u4e0d\u4e00\u81f4\uff0c\u6bd4\u5982 <code>price<\/code> \u53ef\u80fd\u88ab\u9519\u8bef\u5730\u5b58\u50a8\u4e3a <code>string<\/code> \u800c\u4e0d\u662f <code>double<\/code>\u3002\u53ef\u4ee5\u4f7f\u7528 <code>$type<\/code> \u68c0\u6d4b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.products.find({ price: { $type: \"string\" } })<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u8fd4\u56de\u4e86\u6570\u636e\uff0c\u8bf4\u660e <code>price<\/code> \u5b57\u6bb5\u5b58\u5728\u5f02\u5e38\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 <strong>3. \u67e5\u8be2\u591a\u79cd\u53ef\u80fd\u7c7b\u578b\u7684\u6570\u636e<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6709\u65f6\u5019\uff0c\u67d0\u4e2a\u5b57\u6bb5\u53ef\u80fd\u4f1a\u5b58\u50a8\u4e0d\u540c\u7c7b\u578b\u7684\u6570\u636e\uff0c\u6bd4\u5982 <code>age<\/code> \u53ef\u80fd\u662f <code>int<\/code> \u6216 <code>long<\/code>\u3002\u53ef\u4ee5\u4f7f\u7528 <code>$type<\/code> \u67e5\u8be2\u6240\u6709\u53ef\u80fd\u7684\u7c7b\u578b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db.users.find({ age: { $type: &#91;\"int\", \"long\"] } })<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. \u7ed3\u8bba<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$type<\/code> \u7528\u4e8e\u67e5\u8be2<strong>\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b<\/strong>\uff0c\u53ef\u5e2e\u52a9\u68c0\u6d4b\u9519\u8bef\u6570\u636e\u3001\u4fdd\u8bc1\u6570\u636e\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li>\u53ef\u4ee5\u4f7f\u7528 BSON \u4ee3\u7801\uff08\u5982 <code>1<\/code> \u4ee3\u8868 <code>double<\/code>\uff09\u6216\u5b57\u7b26\u4e32\uff08\u5982 <code>\"double\"<\/code>\uff09\u3002<\/li>\n\n\n\n<li><code>$type<\/code> \u4e5f\u652f\u6301\u6570\u7ec4\u67e5\u8be2\uff0c\u5339\u914d\u591a\u4e2a\u6570\u636e\u7c7b\u578b\u3002<\/li>\n\n\n\n<li>\u53ef\u7528\u4e8e\u6392\u67e5<strong>\u6570\u636e\u5f02\u5e38<\/strong>\u3001<strong>\u68c0\u67e5\u5b57\u6bb5\u7c7b\u578b<\/strong>\u3001<strong>\u4f18\u5316\u67e5\u8be2<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u5b9e\u9645\u5f00\u53d1\u4e2d\uff0c\u4f7f\u7528 <code>$type<\/code> \u7ed3\u5408 <code>find()<\/code> \u53ef\u4ee5\u5e2e\u52a9\u4f60<strong>\u786e\u4fdd\u6570\u636e\u7c7b\u578b\u7b26\u5408\u9884\u671f<\/strong>\uff0c\u51cf\u5c11\u6570\u636e\u9519\u8bef\uff0c\u63d0\u9ad8\u67e5\u8be2\u51c6\u786e\u6027\uff01 \ud83d\ude80<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u66f4\u591a\u8be6\u7ec6\u5185\u5bb9\u8bf7\u5173\u6ce8\u5176\u4ed6\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MongoDB $type \u64cd\u4f5c\u7b26 \u5728 MongoDB \u4e2d\uff0c$type \u64cd\u4f5c\u7b26\u7528\u4e8e\u5339\u914d\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u3002\u5b83\u5141\u8bb8\u67e5 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77],"tags":[],"class_list":["post-2447","post","type-post","status-publish","format-standard","hentry","category-mongodb"],"_links":{"self":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/2447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/comments?post=2447"}],"version-history":[{"count":1,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/2447\/revisions"}],"predecessor-version":[{"id":2448,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/2447\/revisions\/2448"}],"wp:attachment":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/media?parent=2447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/categories?post=2447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/tags?post=2447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}