前端知識點回顧——mongodb和mongoose模塊

mongodb和mongoose模塊

數據庫

數據庫有關係型數據庫(MySQL)和非關係型數據庫(mongodb),二者的語法和數據存儲形式不同。javascript

  • mySQL 關係型數據庫

相似於表格的形式,每一條數據都是以id爲標識java

table
thead name sex age id
tbody May female 18 1
Simple male 25 2es6

  • mongodb 非關係型數據庫

集合,至關於表的概念,Bson,一條數據表明一個文檔(數據的基本單位)mongodb

{
id :
name : May
age : 18
}數據庫

mongodb

大數據庫-->子數據庫-->集合(Bson)-->文檔(數據的基本單位)-->字段(鍵值對)promise

在黑窗口下執行的一些命令行:mongoose

mongod --dbpath F:\database 啓動服務端,指定數據存儲路徑
mongo 啓動客戶端
show dbs 顯示有多少個子數據庫
use simple 建立/跳轉到simple子數據庫進行操做
db.dropDatabase() 刪除當前子數據庫
db.createCollection(「集合名」, 限制內存大小) 在子數據庫下建立一個集合
show collections 在當前子數據庫內查看因此的集合
db.集合名.drop() 刪除當前集合
db.集合名.insert({name:」simple」,sex:」male」}) 往集合中插入數據
db.集合名.find() 查看集合中的全部數據
db.集合名.find().pretty() 顯示格式化後的數據
db.集合名.update({「name」:」May」},{$set:{sex:」male」}},{multi:false}) 修改集合中,name屬性爲wula的數據,將其sex屬性改成boy。(multi屬性默承認不寫爲false,此時只會修改先匹配到的第一條數據;改成true會將全部匹配的數據都進行修改)函數

mongoose模塊

// mongoose 導入包
const mongoose = require("mongoose");
//鏈接本地子數據庫simple(沒有的話會建立一個),返回一個實例,默認端口27017
const db = mongoose.createConnection("mongodb://localhost:27017/simple", {useNewUrlParser : true});
//用原生的es6的promise替換掉mongoose自定義的promise
mongoose.Promise = global.Promise;
//監聽是否連接成功
db.on("error", () => {
console.log("數據庫連接失敗");
});
db.on("open", () => {
console.log("數據庫連接成功");
});
// 規範數據的字段,獲得Schema類
const Schema = mongoose.Schema;
//獲得Schema實例,用來規範數據類型或者字段
const userSchema = new Schema({
name : String,
age : Number, //類型的構造函數
sex : String
},{
versionKey : false //取消往每一個數據中插入版本信息
});
//建立一個集合,名爲user,返回一個構造函數
const User = db.model("user", userSchema, "user"); //若是不寫第三個參數則集合名字會在後面加s爲users,加了第三個參數就會直接指定它的名稱
//要插入集合的文檔/數據
const obj1 = {
name : "simple",
age : 25,
sex : "男"
};
//插入數據
const d1 = new User(obj1);
d1.save((err, data) => {
console.log(data);
}); //返回一個promise對象
/* d1.save().then(res => {
console.log(res);
}).catch((err) => {
console.log(err);
});
*/
//刪除數據
/* User.deleteOne({name:"simple"}, (err, data) => {
if(err) console.log(err);
console.log("刪除成功", data);
}); */
/* User.deleteMany({ name: "May" }, function (err) {
if (err) console.log(err);
}); */
相關文章
相關標籤/搜索