如何在Node.js中使用MongoDB

在本教程中,我將向您展示如何從Node.js與MongoDB數據庫進行互動。 如果您對MongoDB不熟悉,請查閱我們的基礎指南,以及如何安裝和使用它的指南:) 我們將使用官方的mongodb npm套件。如果您已經有一個正在進行中的Node.js項目,可以使用以下命令來安裝它: npm install mongodb 如果您從頭開始,請在終端中創建一個新的文件夾,然後運行npm init -y來啟動新的Node.js項目,然後運行npm install mongodb命令。 連接到MongoDB 您需要引入mongodb套件,然後從中獲取MongoClient對象。 const mongo = require('mongodb').MongoClient 創建MongoDB服務器的URL。如果您在本地使用MongoDB,URL將是類似mongodb://localhost:27017的形式,因為27017是默認端口。 const url = 'mongodb://localhost:27017' 然後使用mongo.connect()方法來獲取對MongoDB實例客戶端的引用。 mongo.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } // ... }) 現在,您可以使用client.db()方法選擇數據庫。 const db = client.db('kennel') 創建並獲取集合 您可以使用db.collection()方法獲取集合。如果集合還不存在,它將被創建。 const collection = db.collection('dogs') 向集合插入數據 在app.js中添加以下函數,它使用insertOne()方法將一個對象添加到dogs集合中。 collection.insertOne({name: 'Roger'}, (err, result) => { }) 您可以使用insertMany()來添加多個項目,將數組作為第一個參數傳入。 collection.insertMany([{name: 'Togo'}, {name: 'Syd'}], (err, result) => { }) 查找所有文檔 使用集合上的find()方法來獲取添加到集合中的所有文檔。...

如何在Node.js中將JSON物件寫入檔案

了解如何在Node.js中將JSON物件儲存到檔案中,並在之後檢索它。 有時,在Node.js應用程式中,將資料儲存到檔案系統中是最好的方法。 如果您有一個可以序列化為JSON的物件,您可以使用JSON.stringify()方法和fs模組的fs.writeFileSync()方法,它同步將資料寫入檔案中: const fs = require('fs'); const storeData = (data, path) => { try { fs.writeFileSync(path, JSON.stringify(data)); } catch (err) { console.error(err); } }; 要檢索資料,可以使用fs.readFileSync()方法: const loadData = (path) => { try { return fs.readFileSync(path, 'utf8'); } catch (err) { console.error(err); return false; } }; 我們使用了同步的API,所以一旦獲取資料,就可以輕鬆地返回它。 您也可以選擇使用非同步版本的fs.writeFile和fs.readFile,雖然程式碼會有些變化,我建議您參考如何使用Node.js寫入檔案和如何使用Node.js讀取檔案來了解更多資訊。

如何在Node.js中檢查文件是否存在

如何使用Node.js的fs模塊來檢查文件系統中是否存在文件。 使用Node.js檢查文件是否存在的方法是使用fs.existsSync()方法: const fs = require('fs') const path = './file.txt' try { if (fs.existsSync(path)) { //文件存在 } } catch(err) { console.error(err) } 這種方法是同步的,意味著它是阻塞的。為了以異步的方式檢查文件是否存在,可以使用fs.access()方法,該方法檢查文件的存在性而不需要打開它: const fs = require('fs') const path = './file.txt' fs.access(path, fs.F_OK, (err) => { if (err) { console.error(err) return } //文件存在 })

如何在Node.js中獲取文件擴展名

我需要找到文件的擴展名。 我有文件的名稱,我想獲取它的擴展名(.jpg,.png…)。 為了做到這一點,您可以使用path內置模塊及其extname()方法: const path = require('path') path.extname('picture.png') //.png path.extname('picture.of.a.dog.png') //.png path.extname('picture.of.a.dog.jpg') //.jpg path.extname('picture.of.a.dog.jpeg') //.jpeg

如何在Node中列出文件夹中的文件

你想要如何在Node.js中获取一个包含文件夹中文件列表的数组呢? 首先导入内置模块fs,然后调用fs.readdirSync()传入你想要读取的文件夹名: import fs from 'fs' const filenames = fs.readdirSync('content') 你可以使用相对或绝对路径。 然后可以通过以下方式遍历文件名: filenames.map((filename) => { console.log(filename) })

如何在Node中獲取文件夾中所有文件的名稱

這裡將介紹如何使用Node.js列出文件系統中文件/文件夾中的所有文件: const fs = require('fs') const dir = '/Users/flavio/folder' const files = fs.readdirSync(dir) for (const file of files) { console.log(file) } 一旦獲得文件參考,可以使用以下方法獲取其詳細信息: const path = require('path') //... //在“for”循環內部 const stat = fs.lstatSync(path.join(dir, file)) 這對於區分文件和文件夾很有用,例如使用stat.isDirectory()方法。 fs和path是內置模塊,無需使用npm進行安裝

如何在Node中獲取當前文件夾

解釋了兩種引用文件系統的方式:./ 和 __dirname 在Node.js腳本中,基本上有兩種引用當前文件夾的方式: ./ __dirname 除了 ./ ,還有指向上級文件夾的 ../ ,它們的行為方式相同。 這兩者之間有一個很大的區別。 在Node腳本中使用 __dirname 會返回當前JavaScript文件所在文件夾的路徑。 使用 ./ 會給出當前的工作目錄。這將返回與調用 process.cwd() 結果相同的結果。 最初的當前工作目錄是你運行node命令的文件夾的路徑,但在腳本執行期間,這可以通過使用 process.chdir() API 進行更改。 只有一個地方 ./ 是指當前文件路徑,那就是在 require() 調用中。在這裡,./ (為了方便)始終將引用JavaScript文件的路徑,讓你可以根據文件夾結構來導入其他模塊。

如何在Node中記錄物件

在瀏覽器中運行的JavaScript程式中,當您輸入console.log()時,會在瀏覽器控制台中產生一條輸出: 點擊箭頭後,輸出會展開,您可以清楚地看到物件的屬性: 在Node中,情況是一樣的。 當我們將物件輸出到控制台時,並沒有像在瀏覽器中那樣的便利。在手動運行Node程式時,或者在日誌文件中,輸出會是物件的字串表示。 一切都很好,直到達到某個層次的巢狀結構。在兩個層次的巢狀結構後,Node就放棄並以[Object]作為佔位符輸出: const obj = { name: 'Flavio', age: 35, person1: { name: 'Tony', age: 50, person2: { name: 'Albert', age: 21, person3: { name: 'Peter', age: 23 } } } } console.log(obj) { name: 'Flavio', age: 35, person1: { name: 'Tony', age: 50, person2: { name: 'Albert', age: 21, person3: [Object] } } } 如何輸出完整的物件? 保持輸出格式的最佳方法是使用: console.log(JSON.stringify(obj, null, 2)) 其中的2是用於縮排的空格數。 另一個選擇是使用: require('util').inspect.defaultOptions.depth = null console.log(obj) 但問題是,二級巢狀結構之後的嵌套物件會被攤平。對於複雜的物件可能會造成問題。

如何在運行時檢查當前的 Node.js 版本

執行 process.version: process 物件的 version 屬性會返回一個字符串,其中包含當前的 Node.js 版本。 在瀏覽器中,process 物件未定義,所以會產生 ReferenceError: 另一種方式是引用 process.versions(複數): 這會返回一個包含各個組件版本的物件。 要獲取主要版本(在這個例子中是 12),可以使用以下代碼: process.versions.node.split('.')[0]

如何安裝 Next.js

這是一個關於如何安裝 Next.js 的逐步指南。 要安裝 Next.js,您需要先安裝 Node.js。 請確保您已經安裝了最新版本的 Node.js。在終端機中輸入 node -v,並將其與 https://nodejs.org/ 上列出的最新 LTS 版本進行比較。 安裝完 Node.js 後,您將可以在命令行中使用 npm 命令。 如果在這個階段遇到任何問題,我建議您參考以下我為您撰寫的教程: 如何安裝 Node.js 如何更新 Node.js npm 包管理器介紹 Unix Shell 教程 如何使用 macOS 終端機 Bash Shell 現在,您已將 Node 更新為最新版本並且擁有 npm,請在任何您喜歡的位置創建一個空文件夾,例如在您的主文件夾中,然後進入該文件夾: mkdir nextjs cd nextjs 接著,創建您的第一個 Next 專案: mkdir firstproject cd firstproject 現在使用 npm 命令將其初始化為 Node 專案: npm init -y -y 選項告訴 npm 使用項目的默認設置,填充一個示例的 package.json 文件。 現在安裝 Next 和 React: npm install next react react-dom 您的專案文件夾現在應該有 2 個文件:...