成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Mongoose增刪查改

gityuan / 1009人閱讀

摘要:通過(guò)構(gòu)造而成,除了具有定義的數(shù)據(jù)庫(kù)骨架以外,還可以具體的操作數(shù)據(jù)庫(kù)。通過(guò)創(chuàng)建的實(shí)體,它也可以操作數(shù)據(jù)庫(kù)。但比更具操作性。

原文鏈接:Mongoose

前言

學(xué)數(shù)據(jù)庫(kù)肯定需要知道怎么連接后臺(tái)
Mongoose 是用來(lái)方便連接 MongoDBnode 的一個(gè)工具包
是時(shí)候?qū)W習(xí)一波

nodejs連接MongoDB

連接數(shù)據(jù)庫(kù)前需要先打開(kāi)數(shù)據(jù)庫(kù) 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ù)庫(kù)連接失?。? + error);
});
db.connection.on("open", function () {
    console.log("------數(shù)據(jù)庫(kù)連接成功!------");
});
操縱數(shù)據(jù)

Schema:數(shù)據(jù)庫(kù)集合的模型骨架,或者是數(shù)據(jù)屬性模型傳統(tǒng)意義的表結(jié)構(gòu)。

Model :通過(guò)Schema構(gòu)造而成,除了具有Schema定義的數(shù)據(jù)庫(kù)骨架以外,還可以具體的操作數(shù)據(jù)庫(kù)。

Entity:通過(guò)Model創(chuàng)建的實(shí)體,它也可以操作數(shù)據(jù)庫(kù)。

但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 新建一個(gè)數(shù)據(jù)
    name : "helloworld",
    age  : 28,
    email: "[email protected]"
});
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(查詢條件,更新對(duì)象,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));
若第一個(gè)參數(shù)為空對(duì)象,則 docs 為所有數(shù)據(jù)

TestModel.find({ "age": 28 }, function (error, docs) {
  if(error){
    console.log("error :" + error);
  }else{
    console.log(docs); //docs: age為28的所有文檔
  }
}); 
結(jié)語(yǔ)

學(xué)習(xí)源: Mongoose
真是通俗易懂的操作呀
MongoDB 好感度 up up up
?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/18989.html

相關(guān)文章

  • 在Node中基于Mongoose對(duì)MongoDB進(jìn)行增刪查改(CRUD)操作(一)

    摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫(kù),在這個(gè)節(jié)目可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對(duì)進(jìn)行增刪查改操作的簡(jiǎn)單介紹,以后會(huì)有進(jìn)階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...

    lemon 評(píng)論0 收藏0
  • 在Node中基于Mongoose對(duì)MongoDB進(jìn)行增刪查改(CRUD)操作(一)

    摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫(kù),在這個(gè)節(jié)目可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對(duì)進(jìn)行增刪查改操作的簡(jiǎn)單介紹,以后會(huì)有進(jìn)階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...

    SillyMonkey 評(píng)論0 收藏0
  • VueCli+Node+mongodb打造個(gè)人博客(含前臺(tái)展示及后臺(tái)管理系統(tǒng))(上)

    摘要:前言學(xué)習(xí)前端也有一段時(shí)間了做個(gè)個(gè)人博客網(wǎng)站吧正好總結(jié)練習(xí)一下這段時(shí)間的所學(xué)文章很長(zhǎng),會(huì)拆成三篇來(lái)講項(xiàng)目地址效果后臺(tái)管理系統(tǒng)前端頁(yè)面架構(gòu)可以看到,在整個(gè)項(xiàng)目中,沒(méi)有頁(yè)面的跳轉(zhuǎn)只有前后端的數(shù)據(jù)交換,所有的頁(yè)面更新都是組件更新和數(shù)據(jù)更新后端只對(duì)數(shù) 前言 學(xué)習(xí)前端也有一段時(shí)間了做個(gè)個(gè)人博客網(wǎng)站吧正好總結(jié)練習(xí)一下這段時(shí)間的所學(xué)文章很長(zhǎng),會(huì)拆成三篇來(lái)講 項(xiàng)目github地址:https://git...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • VueCli+Node+mongodb打造個(gè)人博客(含前臺(tái)展示及后臺(tái)管理系統(tǒng))(上)

    摘要:前言學(xué)習(xí)前端也有一段時(shí)間了做個(gè)個(gè)人博客網(wǎng)站吧正好總結(jié)練習(xí)一下這段時(shí)間的所學(xué)文章很長(zhǎng),會(huì)拆成三篇來(lái)講項(xiàng)目地址效果后臺(tái)管理系統(tǒng)前端頁(yè)面架構(gòu)可以看到,在整個(gè)項(xiàng)目中,沒(méi)有頁(yè)面的跳轉(zhuǎn)只有前后端的數(shù)據(jù)交換,所有的頁(yè)面更新都是組件更新和數(shù)據(jù)更新后端只對(duì)數(shù) 前言 學(xué)習(xí)前端也有一段時(shí)間了做個(gè)個(gè)人博客網(wǎng)站吧正好總結(jié)練習(xí)一下這段時(shí)間的所學(xué)文章很長(zhǎng),會(huì)拆成三篇來(lái)講 項(xiàng)目github地址:https://git...

    tinyq 評(píng)論0 收藏0
  • VueCli+Node+mongodb打造個(gè)人博客(含前臺(tái)展示及后臺(tái)管理系統(tǒng))(上)

    摘要:前言學(xué)習(xí)前端也有一段時(shí)間了做個(gè)個(gè)人博客網(wǎng)站吧正好總結(jié)練習(xí)一下這段時(shí)間的所學(xué)文章很長(zhǎng),會(huì)拆成三篇來(lái)講項(xiàng)目地址效果后臺(tái)管理系統(tǒng)前端頁(yè)面架構(gòu)可以看到,在整個(gè)項(xiàng)目中,沒(méi)有頁(yè)面的跳轉(zhuǎn)只有前后端的數(shù)據(jù)交換,所有的頁(yè)面更新都是組件更新和數(shù)據(jù)更新后端只對(duì)數(shù) 前言 學(xué)習(xí)前端也有一段時(shí)間了做個(gè)個(gè)人博客網(wǎng)站吧正好總結(jié)練習(xí)一下這段時(shí)間的所學(xué)文章很長(zhǎng),會(huì)拆成三篇來(lái)講 項(xiàng)目github地址:https://git...

    kidsamong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

gityuan

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<