在本Node.js教程中,我們將通過(guò)示例使用db.createCollection()方法學(xué)習(xí)從Node.js應(yīng)用程序在MongoDB數(shù)據(jù)庫(kù)中創(chuàng)建集合。
以下是逐步指南,并提供了一個(gè)示例,該示例從Node.js應(yīng)用程序在MongoDB中創(chuàng)建集合。
啟動(dòng)MongoDB服務(wù)。運(yùn)行以下命令以啟動(dòng)MongoDB服務(wù)
sudo service mongod start
獲取MongoDB服務(wù)的基本URL。要了解MongoDB服務(wù)的基本URL,一個(gè)簡(jiǎn)單的技巧就是打開(kāi)終端并運(yùn)行Mongo Shell。
Terminal - Mongo Shell
arjun@nodejs:~$ mongo MongoDB shell version v3.4.9 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.9 Server has startup warnings: 2017-10-29T18:15:36.110+0530 I STORAGE [initandlisten]
當(dāng)Mongo Shell啟動(dòng)時(shí),它回顯MongoDB的基本URL。
mongodb://127.0.0.1:27017
準(zhǔn)備完整的URL。將您要連接的數(shù)據(jù)庫(kù)名稱(chēng)(例如newdb)附加到基本URL。
mongodb://127.0.0.1:27017/newdb
創(chuàng)建一個(gè)MongoClient。
var MongoClient = require('mongodb').MongoClient;
在URL的幫助下從MongoClient連接到MongoDB服務(wù)器。
MongoClient.connect(url, <callback_function>);
一旦完成MongoClient的嘗試建立連接,回調(diào)函數(shù)就會(huì) 收到錯(cuò)誤和db對(duì)象作為參數(shù)。
如果連接成功,則db對(duì)象指向數(shù)據(jù)庫(kù) newdb。
在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)MongoDB集合。以下是用于從Node.js在MongoDB中創(chuàng)建集合的createCollection()方法的語(yǔ)法。
db.createCollection(<collection_name>, <callback_function>)
參數(shù)說(shuō)明:
collection_name - 我們要?jiǎng)?chuàng)建的新MongoDB集合的名稱(chēng)
callback_function - 在Node嘗試創(chuàng)建集合并準(zhǔn)備好結(jié)果之后,將調(diào)用此Node.js回調(diào)函數(shù)。回調(diào)函數(shù)接收錯(cuò)誤和結(jié)果對(duì)象作為參數(shù)。
node-js-mongodb-create-collection.js
// 我們?cè)趎ewdb數(shù)據(jù)庫(kù)中創(chuàng)建用戶集合。 var url = "mongodb://localhost:27017/newdb"; //創(chuàng)建一個(gè)客戶端到mongodb var MongoClient = require('mongodb').MongoClient; //使客戶端連接到mongo服務(wù) MongoClient.connect(url, function(err, db) { if (err) throw err; //指向newdb的db console.log("Switched to "+db.databaseName+" database"); //在數(shù)據(jù)庫(kù)中創(chuàng)建用戶集合 db.createCollection("users", function(err, result) { if (err) throw err; console.log("Collection is created!"); //完成后關(guān)閉與 db 的連接 db.close(); }); });
輸出結(jié)果
arjun@tutorialkart:~/workspace/nodejs/mongodb$ node node-js-mongodb-create-collection.js Switched to newdb database Collection is created!