MongoDB 是一個基於分布式檔案儲存體的資料庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴充的高效能資料儲存解決方案。
MongoDB 是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。
一、MongoDB必須理解的概念
1.資料庫:每個資料庫都有自己的許可權和集合。
2.文檔:一個索引值對。
3.集合:一組文檔,即一組索引值對。當第一個文檔插入時,集合就會被建立。
二、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:查看資料庫
2.show collections:查看當前資料庫的集合
3.db.COLLECTION_NAME.find():查看該集合下的所有文檔
4.use DATABASE_NAME:使用某個資料庫
5.db.COLLECTION_NAME.insert({“key”:”value”,””:””......}):向某個集合中插入文檔(注意格式)
6.db.COLLECTION_NAME.find({“a”:1}):尋找a值為1的文檔
7.db.dropDatabase():刪除當前正在use的資料庫
四、在Node中使用MongoDB
1.安裝
在項目目錄下執行命令:npm install mongodb —save-dev
要注意的是,必須先按照上面的要求安裝好MongoDB才能正常使用NodeJS中的Mongodb。
2.基本使用
(1)串連資料庫:
<span style="font-family: Arial, Helvetica, sans-serif;">var MongoClient = require(‘mongodb').MongoClient; //引入mongodb</span> [javascript] view plain copy print?在CODE上查看代碼片派生到My Code片var url = ‘mongodb://localhost:27017/testProject' //設定串連的url,注意前半部分是mongodb資料庫連接埠等,testProject是要建立的資料庫,可自己命名 MongoClient.connect(url, function(err, db){ //…注意其中的db就指定的是當前資料庫 })
(2)建立集合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("集合建立成功") }) });
(3)在集合中插入文檔collection.insertMany()
var collection = db.collection("myCollection"); //選擇某一個集合 collection.insertMany([{a:1},{b:2},{c:3}],function(err, result){ //插入資料,這裡插入了三條資料 console.log("插入成功"); })
這裡插一句,每次執行我們的node代碼之後,都可以在資料庫中進行結果查看,驗證我們的操作。比如這裡可以使用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就是擷取到的結果 });
尋找合格文檔內容:
collection.find({“a”:1}).toArray(function(err, docs){ <span style="white-space:pre"> </span>console.log(docs); //返回複合條件的內容 });
以上所述是小編給大家介紹的NodeJS中的MongoDB快速入門詳細教程,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!