在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和nodejs mongoose使用詳解MongoDBNodeJS
- 在node中的mongodb及mongoose常見用法MongoDB
- Node.js學習之路23——Node.js利用mongoose連線mongodb資料庫Node.jsMongoDB資料庫
- php連線mongodbPHPMongoDB
- mongodb連線字串MongoDB字串
- Xshell連線UbuntuUbuntu
- ubuntu連線XshellUbuntu
- BIRT 如何連線 MongoDBMongoDB
- 關於在執行java連線MongoDB時遇到的連線超時問題JavaMongoDB
- 使用express+mongoose對mongodb實現增刪改查操作ExpressMongoDB
- Node學習筆記 Mongodb 和 Mongoose筆記MongoDB
- gdbserver連線Ubuntu除錯程式(使用串列埠)ServerUbuntu除錯串列埠
- Mongodb資料庫連線MongoDB資料庫
- node.js連線mongodbNode.jsMongoDB
- Mongoose在Express、Koa、 Egg中使用對比GoExpress
- 【Node.js】使用mongoose連線資料庫以及進行資料儲存Node.jsGo資料庫
- SpringDataMongo連線MongoDB基礎用法SpringMongoDB
- 遠端連線 Ubuntu 桌面Ubuntu
- ubuntu wps odbc 連線sqliteUbuntuSQLite
- koa2搭建伺服器+使用mongoose連結mangodb伺服器Go
- mongoose的基本使用Go
- mongoose基礎使用Go
- Python連線訪問mongodb副本集PythonMongoDB
- 在 hyperf 中使用 MongoDBMongoDB
- windows mstsc 遠端連線UbuntuWindowsUbuntu
- mongodb用mongoose查庫的物件,不能增加屬性MongoDB物件
- 在 Spring Boot 中使用 HikariCP 連線池Spring Boot
- linux安裝mongoDB與遠端連線LinuxMongoDB
- 10_Node js 連線 MySQL 與 MongoDBJSMySqlMongoDB
- mongoose的入門使用Go
- ubuntu20.04怎麼使用藍芽連線手機互傳檔案?ubuntu連線藍芽手機傳檔案的技巧Ubuntu藍芽
- 使用RMySQL包來連線MySQL資料庫MySql資料庫
- MongoDB使用者許可權管理,設定密碼並連線MongoDB密碼
- Ubuntu16.04下使用rdesktop命令遠端連線windows機器UbuntuWindows
- 在wildfly中使用SAML協議連線keycloak協議
- 部落格資料庫要連線Elasticsearch,使用MySQL還是MongoDB更合理資料庫ElasticsearchMySqlMongoDB
- Ubuntu Server安裝介面並VNC連線UbuntuServerVNC