NodeJS中的MongoDB快速入門詳細教程
MongoDB 是一個基于分布式文件存儲的數(shù)據(jù)庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數(shù)據(jù)存儲解決方案。
MongoDB 是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的。
一、MongoDB必須理解的概念
1.數(shù)據(jù)庫:每個數(shù)據(jù)庫都有自己的權限和集合。
2.文檔:一個鍵值對。
3.集合:一組文檔,即一組鍵值對。當?shù)谝粋€文檔插入時,集合就會被創(chuàng)建。
二、Mac下的MongoDB安裝和啟動
1.使用brew進行安裝:brew install mongodb。
2.建立目錄:mkdir -p /data/db。這樣建立的是mongodb配置中的默認目錄。
3.設置/data/db的權限為可讀可寫:chown `id -u` /data/db。
4.運行mongod命令,開啟服務器。
5.新建一個命令終端,輸入mongo,進入mongo命令行工具(mongod命令不能暫停)這樣就可以在mongo命令行工具中輸入各種mongo命令了。
三、MongoDB命令行的基本操作
1.show dbs:查看數(shù)據(jù)庫
2.show collections:查看當前數(shù)據(jù)庫的集合
3.db.COLLECTION_NAME.find():查看該集合下的所有文檔
4.use DATABASE_NAME:使用某個數(shù)據(jù)庫
5.db.COLLECTION_NAME.insert({“key”:”value”,””:””......}):向某個集合中插入文檔(注意格式)
6.db.COLLECTION_NAME.find({“a”:1}):查找a值為1的文檔
7.db.dropDatabase():刪除當前正在use的數(shù)據(jù)庫
四、在Node中使用MongoDB
1.安裝
在項目目錄下執(zhí)行命令:npm install mongodb —save-dev
要注意的是,必須先按照上面的要求安裝好MongoDB才能正常使用NodeJS中的Mongodb。
2.基本使用
(1)連接數(shù)據(jù)庫:
<span style="font-family: Arial, Helvetica, sans-serif;">var MongoClient = require(‘mongodb').MongoClient; //引入mongodb</span> [javascript] view plain copy print?在CODE上查看代碼片派生到我的代碼片 var url = ‘mongodb://localhost:27017/testProject' //設定連接的url,注意前半部分是mongodb數(shù)據(jù)庫端口等,testProject是要創(chuàng)建的數(shù)據(jù)庫,可自己命名 MongoClient.connect(url, function(err, db){ //…注意其中的db就指定的是當前數(shù)據(jù)庫 })
(2)創(chuàng)建集合db.createCollection()
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017/myproject'; MongoClient.connect(url, function(err, db) { console.log("Connected successfully to server"); db.createCollection("myCollection", { "capped": true, "size": 100000, "max": 5000}, function(err, results){ console.log("集合創(chuàng)建成功") }) });
(3)在集合中插入文檔collection.insertMany()
var collection = db.collection("myCollection"); //選擇某一個集合 collection.insertMany([{a:1},{b:2},{c:3}],function(err, result){ //插入數(shù)據(jù),這里插入了三條數(shù)據(jù) console.log("插入成功"); })
這里插一句,每次執(zhí)行我們的node代碼之后,都可以在數(shù)據(jù)庫中進行結(jié)果查看,驗證我們的操作。比如這里可以使用db.myCollection.find()來查看我們是否成功寫入紀錄。
(4)查找文檔
查找所有文檔:
var collection = db.collection("myCollection"); <span style="white-space:pre"> </span>collection.find({}).toArray(function(err, docs){ <span style="white-space:pre"> </span>console.log(docs); //其中的docs就是獲取到的結(jié)果 });
查找符合條件的文檔內(nèi)容:
collection.find({“a”:1}).toArray(function(err, docs){ <span style="white-space:pre"> </span>console.log(docs); //返回復合條件的內(nèi)容 });
以上所述是小編給大家介紹的NodeJS中的MongoDB快速入門詳細教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
linux服務器快速卸載安裝node環(huán)境(簡單上手)
這篇文章主要介紹了linux服務器快速卸載安裝node環(huán)境(簡單上手),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02Node.js?中常用內(nèi)置模塊(path?路徑模塊)
這篇文章主要介紹了Node.js?中常用內(nèi)置模塊(path?路徑模塊),文章圍繞主題展開詳細的相關介紹,具有一定的參考價值,感興趣的朋友可以參考一下2022-09-09win10環(huán)境使用nvm安裝多版本nodejs并配置環(huán)境變量的完整步驟
這篇文章主要給大家介紹了關于win10環(huán)境使用nvm安裝多版本nodejs并配置環(huán)境變量的相關資料,需要的朋友可以參考下2024-01-01Node中的util.promisify()方法的基本使用和實現(xiàn)
眾所周知,在JS中實現(xiàn)異步編程主要是通過以下幾種方案,回調(diào)函數(shù),觀察者模式,Generator,Promise,async / await ,今天就和大家一起聊一下在node中的一個util.promisify()這個API的基本使用和基本實現(xiàn)2023-07-07