MongoDB與SQL數據庫有何不同

通常,有兩種主要類型的數據庫:SQL數據庫和NoSQL數據庫。 如果你熟悉MySQL或PostgreSQL等,SQL數據庫允許你使用一種名為SQL的特定語言添加和檢索數據,像這樣: SELECT * FROM cars INSERT INTO cars VALUES ('fiesta', 2010) SQL語言相對較老,誕生於1986年,是一種經過考驗的技術。 在NoSQL的範疇下,我們將那些不使用SQL語言進行數據查詢的數據庫都納入其中。MongoDB就屬於這一類。 MongoDB是一個文檔數據庫。與其說它存儲記錄,不如說它存儲對象(稱為文檔)。 那麼這與SQL數據庫有何不同呢? SQL數據庫中的表是扁平的和靜態的,可以存儲數據,但受限於最初的設計意圖(無法動態添加列),要存儲複雜數據,你需要創建許多表並在每個表中關聯數據,遵循關聯數據庫的常見做法(例如外鍵,列類型等)。 在MongoDB中,你可以存儲任何對象,無需擔心組成此對象的特定字段以及如何存儲它們。你只需告訴MongoDB要存儲該對象即可。 通過MongoDB,你不需要學習另一種語言來訪問數據:你只需調用它公開的JavaScript方法就可以了(當然,你也可以使用其他語言與之互動)。 數據存儲的格式類似於JSON,但增強了以允許存儲除基本數據類型外的更多數據。 希望這給你提供了關於SQL數據庫和MongoDB之間主要區別的簡要概述。

使用 Node.js、Express 和 MongoDB 构建 REST API

在本教程中,我们将使用 Node.js 和 Express 构建一个 REST API。 该 API 将提供一组 GET 和 POST 端点,以允许获取数据和发送数据。 我们将使用 MongoDB 数据库存储这些数据。 提示:在继续本教程之前,请确保在您的系统上安装了 MongoDB 数据库(或者您可以使用 Cloud MongoDB 数据库,如果您更喜欢这种方式) 我们的任务是创建一个旅行成本计算器应用程序。 想象一下去旅行,你有一个应用程序(可以是渐进式 Web 应用程序,也可以是移动应用程序),你可以在其中添加你的任何费用。汽油、酒店、食物、门票等等。 当旅行结束时,你可以将其归档,并成为历史的一部分-你可以导航并查看过去旅行花费了多少钱。 我们这里不会创建应用程序的前端,只有 API。 现在让我们详细分解这个问题,并将其转化为一系列 API 端点。 端点是我们将调用以进行操作的唯一 URL。 比如,添加一个新的带有其名称的旅行。 在开始时,没有存储的旅行,我们需要添加一个。我想象应用程序会要求用户提供名称,并有一个“创建旅行”按钮。当点击时,应用程序会将名称发送给 /trip 端点,并使用 POST HTTP 方法。 我们有了第一个端点,它将接受一个 name 属性。 POST /trip { name } 另一个端点将列出旅行,它是: GET /trips 默认情况下,它将按照创建日期排序返回旅行。 当用户想要添加新的费用时,应用程序会使用 POST 方法调用 /expense 端点,并提供描述费用的一些参数。 POST /expense { trip, date, amount, category, description } trip 是当前选择的旅行的 ID。...

如何在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()方法來獲取添加到集合中的所有文檔。...

如何從 MongoDB 集合中刪除所有項目

在使用 MongoDB 時,你可能需要從集合中刪除所有項目。 你可以通過調用集合的 deleteMany 方法並傳入一個空對象來實現。 像這樣: yourcollection.deleteMany({}) 下面是一個完整的示例: const mongo = require('mongodb').MongoClient const url = 'mongodb://localhost:27017' let db, jobs mongo.connect( url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } db = client.db('jobs') jobs = db.collection('jobs') jobs.deleteMany({}) } )