20160815 nodejs對(duì)mongodb的操作

nodejs 操作 mongodb 數(shù)據(jù)庫(kù)

  1. 新建文件夾
  2. npm install mongodb
  3. npm install mongoose
  4. 編寫(xiě)鏈接文件 app.js

var mongoose = require('mongoose');
var db = mongoose.createConnection('mongodb://192.168.25.128:27017/fth');
console.log(db);

  1. 啟動(dòng)數(shù)據(jù)庫(kù) 啟動(dòng)app.js

  2. 編寫(xiě)model(插入數(shù)據(jù))
    //包含依賴庫(kù)
    var mongoose = require('mongoose');
    //鏈接數(shù)據(jù)庫(kù)
    var db = mongoose.createConnection('mongodb://192.168.25.128:27017/fth');
    //設(shè)置基礎(chǔ)的數(shù)據(jù)類型
    var monSchema = new mongoose.Schema({
    name:{type:String,default:'fengtianhe'},
    age:{type:Number},
    sex:{type:String}
    });
    //選擇數(shù)據(jù)庫(kù)的集合(mongodb默認(rèn)加個(gè)s)
    var monModel = db.model('user',monSchema);
    //設(shè)置內(nèi)容
    var content = {name:"馮天鶴",age:"18",sex:'男'};
    //實(shí)例化插入類
    var monInsert = new monModel(content);
    //執(zhí)行插入方法
    monInsert.save(function(err){
    if(err){
    console.log(err);
    }else{
    console.log('success');
    }
    db.close();
    });

  3. 執(zhí)行并查看數(shù)據(jù)庫(kù)


    插入結(jié)果.png
  4. 查詢功能

     //包含依賴庫(kù)
     var mongoose = require('mongoose');
     //鏈接數(shù)據(jù)庫(kù)
     var db = mongoose.createConnection('mongodb://192.168.25.128:27017/fth');
     //設(shè)置基礎(chǔ)的數(shù)據(jù)類型
     var monSchema = new mongoose.Schema({
         name:{type:String,default:'fengtianhe'},
         age:{type:Number},
         sex:{type:String}
     });
     //選擇數(shù)據(jù)庫(kù)的集合(mongodb默認(rèn)加個(gè)s)
     var monModel = db.model('user',monSchema);
     //設(shè)置搜索的條件
     var content = {name:'fth'};
     //設(shè)置要顯示的字段
     var field = {name:1,age:1,sex:1};
     monModel.find(content,field,function(err,result){
         if(err){
             console.log(err);
         }else{
             console.log(result);
         }
         db.close();
         });
    
  5. 執(zhí)行并查看結(jié)果


    查詢結(jié)果.png
  6. 編寫(xiě)修改程序
    //包含依賴庫(kù)
    var mongoose = require('mongoose');
    //鏈接數(shù)據(jù)庫(kù)
    var db = mongoose.createConnection('mongodb://192.168.25.128:27017/fth');
    //設(shè)置基礎(chǔ)的數(shù)據(jù)類型
    var monSchema = new mongoose.Schema({
    name:{type:String,default:'fengtianhe'},
    age:{type:Number},
    sex:{type:String}
    });
    //選擇數(shù)據(jù)庫(kù)的集合(mongodb默認(rèn)加個(gè)s)
    var monModel = db.model('user',monSchema);
    //設(shè)置條件
    var tiaojian = {name:"fth"};
    //設(shè)置要更新成的數(shù)據(jù)
    var result = {$set:{name:'小強(qiáng)',age:'3'}};
    monModel.update(tiaojian,result,function(err){
    if(err){
    console.log(err);
    }else{
    console.log('update is ok');
    }
    db.close();
    });

  7. 執(zhí)行并查看結(jié)果


    更新輸出.png

    更新結(jié)果.png
  8. 編寫(xiě)刪除方法
    //包含依賴庫(kù)
    var mongoose = require('mongoose');
    //鏈接數(shù)據(jù)庫(kù)
    var db = mongoose.createConnection('mongodb://192.168.25.128:27017/fth');
    //設(shè)置基礎(chǔ)的數(shù)據(jù)類型
    var monSchema = new mongoose.Schema({
    name:{type:String,default:'fengtianhe'},
    age:{type:Number},
    sex:{type:String}
    });
    //選擇數(shù)據(jù)庫(kù)的集合(mongodb默認(rèn)加個(gè)s)
    var monModel = db.model('user',monSchema);
    //設(shè)置刪除的條件
    var tiaojian = {name:"fth"};

    monModel.remove(tiaojian,function(err){
        if(err){
            console.log(err);
        }else{
            console.log('remove is ok');
        }
        db.close();
    });
    
  9. 執(zhí)行并查看結(jié)果

刪除輸出.png

刪除結(jié)果.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徘钥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌麻汰,老刑警劉巖脊框,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昼扛,死亡現(xiàn)場(chǎng)離奇詭異辜伟,居然都是意外死亡仇穗,警方通過(guò)查閱死者的電腦和手機(jī)奠衔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)谆刨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人归斤,你說(shuō)我怎么就攤上這事痊夭。” “怎么了脏里?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵她我,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)番舆,這世上最難降的妖魔是什么酝碳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮恨狈,結(jié)果婚禮上疏哗,老公的妹妹穿的比我還像新娘。我一直安慰自己禾怠,他們只是感情好返奉,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著吗氏,像睡著了一般芽偏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牲证,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天哮针,我揣著相機(jī)與錄音,去河邊找鬼坦袍。 笑死十厢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的捂齐。 我是一名探鬼主播蛮放,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼奠宜!你這毒婦竟也來(lái)了包颁?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤压真,失蹤者是張志新(化名)和其女友劉穎娩嚼,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體滴肿,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岳悟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泼差。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贵少。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖堆缘,靈堂內(nèi)的尸體忽然破棺而出滔灶,到底是詐尸還是另有隱情,我是刑警寧澤吼肥,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布录平,位于F島的核電站麻车,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏萄涯。R本人自食惡果不足惜绪氛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涝影。 院中可真熱鬧,春花似錦争占、人聲如沸燃逻。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)伯襟。三九已至,卻和暖如春握童,著一層夾襖步出監(jiān)牢的瞬間瓷炮,已是汗流浹背昌犹。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翔忽。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像臂聋,于是被迫代替她去往敵國(guó)和親告材。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容