,安裝
windows平臺下官網直接下載安裝就好了,centos下安裝步驟:
1,配置MongoDB的yum源
[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1
2,安裝MongoDB
安裝之前先更新所有包 :yum update
安裝命令:yum -y install mongodb-org
查看mongo安裝位置 whereis mongod
查看修改配置文件 :vi /etc/mongod.conf 如數據庫路徑dbpath,bindIp: 172.0.0.1 改為 bindIp: 0.0.0.0
3,啟動停止MongoDB
啟動mongodb :systemctl start mongod.service
停止mongodb :systemctl stop mongod.service
查到mongodb的狀態:systemctl status mongod.service
設置開機啟動:systemctl enable mongod.service
重啟mongodb:systemctl restart mongod.service
啟動Mongo shell:mongo
二,nodejs庫選擇,下面三個都不錯,我是選擇了mongooes主要是github star多,便于使用,而且有中文文檔,也一直有更新。
1,mongodb(也叫 node-mongodb-native)mongodb
官方庫,包含了所有且最新的 api,其他大部分的庫都是在這個庫的基礎上改造的。但是呢不支持文檔校驗,mongodb 是 no schema 的,Mongoose 通過 Schema 支持文檔校驗,可以防止非正常情況下寫入錯誤的數據到數據庫。
2,Mongoose
封裝了數據庫的操作,給人的感覺是同步的,其實內部是異步的。功能強大,官方文檔詳細http://www.mongoosejs.net/
3,Mongolass
保持mongodb 一樣的 api,借鑒了 Mongoose 的優點,同時又保持了精簡。
三,數據庫鏈接,新建db.js
'use strict';
var mongoose=require('mongoose');
const dburl='mongodb://localhost/test';
mongoose.connect(dburl);
const db=mongoose.connection;
db.once('open' ,()=> {
console.log(
'連接數據庫成功'
);
})
db.on('error', function(error) {
console.error(
'Error in MongoDb connection: ' + error
);
mongoose.disconnect();
});
db.on('close', function() {
console.log(
'數據庫斷開,重新連接數據庫'
);
mongoose.connect(dburl, {server:{auto_reconnect:true}});
});
module.exports=db;
四,數據庫操作,Schema,model的使用
1,Schema定義。新建user.js
var mongoose=require('mongoose');
var Schema=mongoose.Schema;
// 聲明一個數據集 對象
var userSchema=new Schema({
username: {
type: String,
unique: true
},
password: {
type: String
}
}, {
versionKey: false,
timestamps: true
});
// 將數據模型暴露出去
module.exports=mongoose.model('users', userSchema);
timestamps會自動增加創建時間createdAt,更新時間updatedAt
很多教程是這樣的寫的
updatedAt: { type: Date, default: Date.now }
這個寫法每次更新并不能更新updatedAt這個字段,還是要寫代碼去處理。
另外注意不能寫成default: Date.now()
2,model的使用
查找
User.findOne({
username: 'abc',
password: 'abc'
}, function (err, data) {
if(err) throw err;
console.log(dat)
})
保存
const saveData={
username: 'abc',
password: 'abc',
};
User.create(saveData, function (err, data) {
if (err) throw err;
console.log(data);
})
更多詳細操作見mongoose官方文檔
【課程主題】
90分鐘輕松打造基于NodeJS與MongoDB的登錄系統
【課程大綱】
1、MongoDB的基本使用
2、NodeJS如何操作MongoDB
3、基于NodeJS與MongoDB的登錄系統的實現
什么是數據庫
如何獲取錄播講解?
關注我,私信回復“前端資源”
更多資源
打開web全棧工技能包-1小時輕松掌握SSR
中高級前端大廠面試JavaScript性能常考題之防抖節流視頻講解