摘要:通過構(gòu)造而成,除了具有定義的數(shù)據(jù)庫骨架以外,還可以具體的操作數(shù)據(jù)庫。通過創(chuàng)建的實體,它也可以操作數(shù)據(jù)庫。但比更具操作性。
原文鏈接:Mongoose
前言學數(shù)據(jù)庫肯定需要知道怎么連接后臺
Mongoose 是用來方便連接 MongoDB 與 node 的一個工具包
是時候?qū)W習一波
連接數(shù)據(jù)庫前需要先打開數(shù)據(jù)庫 MongoDB
yarn add mongoose // 安裝 mongoose 依賴
let mongoose = require("mongoose"); let db = mongoose.connect("mongodb://127.0.0.1:27107/test"); db.connection.on("error", function (error) { console.log("數(shù)據(jù)庫連接失?。? + error); }); db.connection.on("open", function () { console.log("------數(shù)據(jù)庫連接成功!------"); });操縱數(shù)據(jù)
Schema:數(shù)據(jù)庫集合的模型骨架,或者是數(shù)據(jù)屬性模型傳統(tǒng)意義的表結(jié)構(gòu)。
Model :通過Schema構(gòu)造而成,除了具有Schema定義的數(shù)據(jù)庫骨架以外,還可以具體的操作數(shù)據(jù)庫。
Entity:通過Model創(chuàng)建的實體,它也可以操作數(shù)據(jù)庫。
但Model比Entity更具操作性。
let mongoose = require("mongoose"); let db = mongoose.connect("mongodb://127.0.0.1:27017/test"); let TestSchema = new mongoose.Schema({ // 使用 Schema 創(chuàng)建集合結(jié)構(gòu)(表結(jié)構(gòu)) name : { type:String }, age : { type:Number, default:0 }, email: { type:String }, time : { type:Date, default:Date.now } }); let TestModel = db.model("test1", TestSchema ); // test1 集合使用 Schema 結(jié)構(gòu),若不存在 test1 集合,則創(chuàng)建 let TestEntity = new TestModel({ // 使用 TestModel 新建一個數(shù)據(jù) name : "helloworld", age : 28, email: "helloworld@qq.com" }); TestEntity.save(function(error,doc){ // 保存數(shù)據(jù)于 test1 if(error){ console.log("error :" + error); }else{ console.log(doc); } });Model增刪查改
let TestSchema = new mongoose.Schema({ name : { type:String }, age : { type:Number, default:0 }, email: { type:String }, time : { type:Date, default:Date.now } }); let TestModel = db.model("test1", TestSchema); // let TestModel = db.model("test1", new mongoose.Schema()); // 集合結(jié)構(gòu)為空的話,不能插入數(shù)據(jù)增
Model方法 create
TestModel.create({ name:"model_create", age:26}, function(error,doc){ if(error) { console.log(error); } else { console.log(doc); } });
entity方法 save
let Entity = new TestModel({name:"entity_save",age: 27}); Entity.save(function(error,doc) { if(error) { console.log(error); } else { console.log(doc); } });刪
Model.remove(查詢條件,callback);
let conditions = {name: "helloworld"}; TestModel.remove(conditions, function(error){ if(error) { console.log(error); } else { console.log("Delete success!"); } });改
Model.update(查詢條件,更新對象,callback)
var conditions = {name : "test_update"}; var update = {$set : { age : 16 }}; // $set 表示只修改 age,否則全覆蓋 TestModel.update(conditions, update, function(error){ if(error) { console.log(error); } else { console.log("Update success!"); } });查
Model.find({}, function(error, docs));
若第一個參數(shù)為空對象,則 docs 為所有數(shù)據(jù)
TestModel.find({ "age": 28 }, function (error, docs) { if(error){ console.log("error :" + error); }else{ console.log(docs); //docs: age為28的所有文檔 } });結(jié)語
學習源: Mongoose
真是通俗易懂的操作呀
MongoDB 好感度 up up up
?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/18989.html
摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫,在這個節(jié)目可以對數(shù)據(jù)庫進行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對進行增刪查改操作的簡單介紹,以后會有進階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...
摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫,在這個節(jié)目可以對數(shù)據(jù)庫進行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對進行增刪查改操作的簡單介紹,以后會有進階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...
摘要:前言學習前端也有一段時間了做個個人博客網(wǎng)站吧正好總結(jié)練習一下這段時間的所學文章很長,會拆成三篇來講項目地址效果后臺管理系統(tǒng)前端頁面架構(gòu)可以看到,在整個項目中,沒有頁面的跳轉(zhuǎn)只有前后端的數(shù)據(jù)交換,所有的頁面更新都是組件更新和數(shù)據(jù)更新后端只對數(shù) 前言 學習前端也有一段時間了做個個人博客網(wǎng)站吧正好總結(jié)練習一下這段時間的所學文章很長,會拆成三篇來講 項目github地址:https://git...
摘要:前言學習前端也有一段時間了做個個人博客網(wǎng)站吧正好總結(jié)練習一下這段時間的所學文章很長,會拆成三篇來講項目地址效果后臺管理系統(tǒng)前端頁面架構(gòu)可以看到,在整個項目中,沒有頁面的跳轉(zhuǎn)只有前后端的數(shù)據(jù)交換,所有的頁面更新都是組件更新和數(shù)據(jù)更新后端只對數(shù) 前言 學習前端也有一段時間了做個個人博客網(wǎng)站吧正好總結(jié)練習一下這段時間的所學文章很長,會拆成三篇來講 項目github地址:https://git...
摘要:前言學習前端也有一段時間了做個個人博客網(wǎng)站吧正好總結(jié)練習一下這段時間的所學文章很長,會拆成三篇來講項目地址效果后臺管理系統(tǒng)前端頁面架構(gòu)可以看到,在整個項目中,沒有頁面的跳轉(zhuǎn)只有前后端的數(shù)據(jù)交換,所有的頁面更新都是組件更新和數(shù)據(jù)更新后端只對數(shù) 前言 學習前端也有一段時間了做個個人博客網(wǎng)站吧正好總結(jié)練習一下這段時間的所學文章很長,會拆成三篇來講 項目github地址:https://git...
閱讀 3441·2023-04-25 23:25
閱讀 2069·2021-11-12 10:36
閱讀 2816·2019-08-30 12:47
閱讀 2037·2019-08-29 18:45
閱讀 435·2019-08-29 17:28
閱讀 1785·2019-08-29 17:15
閱讀 1707·2019-08-29 16:05
閱讀 1405·2019-08-29 14:17