
- Node.js 教程
- Node.js - 首頁
- Node.js - 簡介
- Node.js - 環境設定
- Node.js - 第一個應用程式
- Node.js - REPL 終端
- Node.js - 命令列選項
- Node.js - 包管理器 (NPM)
- Node.js - 回撥函式概念
- Node.js - 上傳檔案
- Node.js - 傳送郵件
- Node.js - 事件
- Node.js - 事件迴圈
- Node.js - 事件發射器
- Node.js - 偵錯程式
- Node.js - 全域性物件
- Node.js - 控制檯
- Node.js - 程序
- Node.js - 應用程式擴充套件
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 緩衝區
- Node.js - 流
- Node.js - 檔案系統
- Node.js MySQL
- Node.js - MySQL 入門
- Node.js - MySQL 建立資料庫
- Node.js - MySQL 建立表
- Node.js - MySQL 插入資料
- Node.js - MySQL 查詢資料
- Node.js - MySQL 條件查詢
- Node.js - MySQL 排序
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 連線查詢
- Node.js MongoDB
- Node.js - MongoDB 入門
- Node.js - MongoDB 建立資料庫
- Node.js - MongoDB 建立集合
- Node.js - MongoDB 插入資料
- Node.js - MongoDB 查詢資料
- Node.js - MongoDB 查詢
- Node.js - MongoDB 排序
- Node.js - MongoDB 刪除資料
- Node.js - MongoDB 更新資料
- Node.js - MongoDB 限制
- Node.js - MongoDB 連線查詢
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
Node.js - MongoDB 限制
MongoDB 中的 `limit()` 方法與 SQL 中的 LIMIT 子句效果類似。它將 `find()` 查詢返回的文件數量限制為指定數量。`limit()` 方法接受一個整數作為引數。如果省略引數,則表示未應用限制。
為了理解 `limit()` 函式的工作方式,我們將使用資料庫中的 orders 集合。可以使用以下程式碼檢索價格大於或等於 10 的文件:
示例
const {MongoClient} = require('mongodb'); async function main(){ const uri = "mongodb://:27017/"; const client = new MongoClient(uri); try { await client.connect(); await limitdocs(client, "mydb", "orders"); } finally { await client.close(); } } main().catch(console.error); async function limitdocs(client, dbname, colname){ var myqry = {numPurchased:{$gte:10}}; const result = await client.db(dbname).collection(colname).find({"numPurchased":{$gte:10}}).toArray(); console.log(JSON.stringify(result)); }
輸出
[{"_id":"658d7f3b30a92c8e5018a43a","orderId":201,"custid":301,"prodId":100,"numPurchased":20},{"_id":"658d7f3b30a92c8e5018a43b","orderId":202,"custid":302,"prodId":101,"numPurchased":10},{"_id":"658d7f3b30a92c8e5018a43d","orderId":204,"custid":303,"prodId":103,"numPurchased":15},{"_id":"658d7f3b30a92c8e5018a43e","orderId":205,"custid":303,"prodId":103,"numPurchased":20},{"_id":"658d7f3b30a92c8e5018a441","orderId":208,"custid":301,"prodId":100,"numPurchased":10},{"_id":"658d7f3b30a92c8e5018a442","orderId":209,"custid":303,"prodId":103,"numPurchased":30}]
現在,我們將 `find()` 查詢返回的結果限制為 1。`limit()` 方法的語法如下:
collection.find(query).limit(number);
將 `limitdocs()` 函式更改為以下程式碼,以獲得數量限制為指定數量的文件。
async function limitdocs(client, dbname, colname){ var myqry = {numPurchased:{$gte:10}}; const result = await client.db(dbname).collection(colname).find({"numPurchased":{$gte:10}}).limit(1).toArray(); console.log(JSON.stringify(result)); }
輸出
[{"_id":"658d7f3b30a92c8e5018a43a","orderId":201,"custid":301,"prodId":100,"numPurchased":20}]
`find()` 查詢從第一次出現開始獲取滿足過濾條件的文件。如果要跳過某些文件,請使用 `skip()` 子句。
collection.find(query).limit(x).skip(y)
`find()` 返回的文件中,只有 x 個文件將填充結果集,其中前 y 個文件將被移除。
以下 `limitdocs()` 函式返回 orders 集合中第二個價格 >= 10 的文件。
async function limitdocs(client, dbname, colname){ var myqry = {numPurchased:{$gte:10}}; const result = await client.db(dbname).collection(colname).find({"numPurchased":{$gte:10}}).limit(1).skip(1).toArray(); console.log(JSON.stringify(result)); }
輸出
[{"_id":"658d7f3b30a92c8e5018a43b","orderId":202,"custid":302,"prodId":101,"numPurchased":10}]
廣告