在Ubuntu 19.10中使用mongoose來連線mongoDB
Mongoose 是一個建立在MongoDB 驅動之上的ODM( 物件資料建模) 庫。它允許在NodeJS 環境中與MongoDB 進行簡潔的互動和簡單的物件建模。
在開始之前,建議:
設定具有sudo 特權的非根使用者。
驗證您的伺服器是最新的。
確保安裝了build-essential 。如果不是,安裝使用:
$ sudo apt install build-essential
步驟1:MongoDB
安裝MongoDB
$ sudo apt install mongodb
檢查安裝是否正確。在輸出中查詢“active (running) ”。
$ sudo systemctl status mongodb
Active: active (running)
步驟2:NodeJS 和NPM
新增最新的穩定NodeJS 庫。
$ curl -sL | sudo -E bash -
安裝NodeJS
$ sudo apt install nodejs
檢查NodeJS 和NPM 是否安裝正確。
$ node -v && npm -v
v12.x.x
6.x.x
步驟3: 初始化Mongoose 專案
建立專案根目錄。
$ cd ~
$ mkdir mongooseProject && cd mongooseProject
初始化一個NodeJS 開發環境,自動生成一個package.json:
$ npm init
根據你的專案回答簡短的問題。例如,如果您在每個問題上按return 接受預設值,npm init 程式會響應:
About to write to /root/mongooseProject/package.json:
{
"name": "mongooseproject",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
使用npm 在專案根目錄中安裝所需的包:
$ npm install --save mongoose
步驟4: 定義一個模型
在專案根目錄中建立一個名為Models 的資料夾,並將cd 放入其中:
$ cd ~/mongooseProject
$ mkdir Models && cd Models
建立connectDB.js 。該檔案將包含MongoDB 伺服器所需的連線邏輯。
$ nano connectDB.js
將以下內容貼上到connectDB.js 中。
const mongoose = require('mongoose'); // Import mongoose library
module.exports = function(uri) {
mongoose.connect(uri, { //attempt to connect to database
useNewUrlParser: true, // Recommended, insures support for future MongoDB drivers
useUnifiedTopology: true // Recommended, uses new MongoDB topology engine
}).catch(error => console.log(error)) // Error handling
mongoose.connection.on('connected', function () { // On connection
console.log('Successful connection with database: ' + uri); // Callback for successful connection
});
}
建立Users.js 。這個檔案將包含資料庫集合使用者的模型。
$ nano Users.js
將以下內容貼上到Users.js 中。這為使用者定義了一個基本模式。
const mongoose = require("mongoose"); // Import mongoose library
const Schema = mongoose.Schema // Define Schema method
// Schema
var UsersSchema = new Schema({ // Create Schema
name: String, // Name of user
age: Number, // Age of user
role: String // Role of user
})
// Model
var Users = mongoose.model("Users", UsersSchema) // Create collection model from schema
module.exports = Users // export model
步驟5: 將文件插入MongoDB
在專案的根目錄中建立insertUser.js 。
$ cd ~/mongooseProject
$ nano insertUser.js
將以下內容貼上到insertUser.js 檔案中。該檔案將文件插入到使用者集合中。
//Library
const mongoose = require("mongoose")
// Database connection
const connectDB = require("./Models/connectDB")
var database = "mongoose" // Database name
// Models
const Users = require("./Models/Users")
// Connect to database
connectDB("mongodb://localhost:27017/"+database)
var insertedUser = new Users({ // Create new document
name: "John Doe",
age: 18,
role: "Example User"
})
insertedUser.save(err => { // save document inside Users collection
if(err) throw err // error handling
console.log("Document inserted!")
mongoose.disconnect() // disconnect connection from database once document is saved
})
執行insertUser.js
$ node insertUser.js
Successful connection with database: mongodb://localhost:27017/mongoose
Document inserted!
步驟6: 從MongoDB 讀取文件
在專案的根目錄中建立readUsers.js 。
$ cd ~/mongooseProject
$ nano readUsers.js
將以下內容貼上到readUsers.js 中。該檔案讀取使用者集合中的文件。
//Library
const mongoose = require("mongoose")
// Database connection
const connectDB = require("./Models/connectDB")
var database = "mongoose" // Database name
// Models
const Users = require("./Models/Users")
// Connect to database
connectDB("mongodb://localhost:27017/"+database)
Users.find({}, (err, users)=>{ //find and return all documents inside Users collection
if(err) throw err // error handling
console.log(users)
mongoose.disconnect()
})
執行readUsers.js 輸出是一個物件陣列。
$ node readUsers.js
Successful connection with database: mongodb://localhost:27017/mongoose
[ { _id: ************************,
name: 'John Doe',
age: 18,
role: 'Example User',
__v: 0 } ]
完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380193/viewspace-2692614/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在node環境下使用Mongoose來操作MongoDBMongoDB
- mongodb replica set 和 nodejs中使用mongoose連線replicaMongoDBNodeJS
- 在node中的mongodb及mongoose常見用法MongoDB
- Ubuntu 19.10 釋出Ubuntu
- mongodb和nodejs mongoose使用詳解MongoDBNodeJS
- 使用Xshell連線UbuntuUbuntu
- 在 Ubuntu 19.10 上入門 ZFS 檔案系統Ubuntu
- Node.js學習之路23——Node.js利用mongoose連線mongodb資料庫Node.jsMongoDB資料庫
- php連線mongodbPHPMongoDB
- mongodb連線字串MongoDB字串
- BIRT 如何連線 MongoDBMongoDB
- Ubuntu 19.10將使用GCC 9作為預設編譯器UbuntuGC編譯
- 關於在執行java連線MongoDB時遇到的連線超時問題JavaMongoDB
- Xshell連線UbuntuUbuntu
- ubuntu建立軟連線Ubuntu
- ubuntu連線XshellUbuntu
- Ubuntu 19.04 已經到期!現有使用者必須升級到 Ubuntu 19.10Ubuntu
- 在命令列中連線mysql命令列MySql
- 【Node.js】使用mongoose連線資料庫以及進行資料儲存Node.jsGo資料庫
- Node學習筆記 Mongodb 和 Mongoose筆記MongoDB
- node.js連線mongodbNode.jsMongoDB
- Mongodb資料庫連線MongoDB資料庫
- Spark連線MongoDB之ScalaSparkMongoDB
- gdbserver連線Ubuntu除錯程式(使用串列埠)ServerUbuntu除錯串列埠
- JMeter MQTT 在連線測試場景中的使用JMeterMQQT
- 使用express+mongoose對mongodb實現增刪改查操作ExpressMongoDB
- 使用簡單的Python連線訪問MongoDBPythonMongoDB
- 遠端連線 Ubuntu 桌面Ubuntu
- Oracle連線MongoDB資料庫OracleMongoDB資料庫
- python與MongoDB的連線PythonMongoDB
- 使用go在mongodb中進行CRUD操作MongoDB
- Mongoose在Express、Koa、 Egg中使用對比GoExpress
- 在JBOSS中使用mysql連線池MySql
- koa2搭建伺服器+使用mongoose連結mangodb伺服器Go
- Mongoose使用population建立關係連結例項說明Go
- MongoDB Driver:使用正確的姿勢連線分片叢集MongoDB
- mongoose的基本使用Go
- mongoose基礎使用Go