亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Nodejs基于mongoose模塊的增刪改查的操作

 更新時(shí)間:2016年12月21日 14:38:30   作者:-Nick-  
本篇文章主要介紹了Nodejs基于mongoose模塊的增刪改查的操作,Mongoose是MongoDB的一個(gè)對(duì)象模型工具,封裝了MongoDB對(duì)文檔的的一些增刪改查等常用方法,讓NodeJS操作Mongodb數(shù)據(jù)庫(kù)變得更加靈活簡(jiǎn)單。

MongoDB

MongoDB是基于Javascript語言的數(shù)據(jù)庫(kù),存儲(chǔ)格式是JSON,而Node也是基于JavaScript的環(huán)境(庫(kù)),所以node和mongoDB的搭配能減少因?yàn)閿?shù)據(jù)轉(zhuǎn)換帶來的時(shí)間空間開銷。

Mongoose

是MongoDB的一個(gè)對(duì)象模型工具,它將數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)換為JavaScript對(duì)象以供你在應(yīng)用中使用,封裝了MongoDB對(duì)文檔的的一些增刪改查等常用方法,讓NodeJS操作Mongodb數(shù)據(jù)庫(kù)變得更加靈活簡(jiǎn)單。

安裝模塊mongoose

npm install mongoose

[注意] mongoose模塊依賴mongodb

npm常用命令

npm install <name> -g 將包安裝到全局環(huán)境中

npm install <name> –-save 安裝的同時(shí),將信息寫入package.json中,便于后期維護(hù)查看

npm remove <name>移除

npm update <name>更新

npm root -g 查看全局的包安裝路徑 

npm -v 查看npm的版本

開啟mongodb數(shù)據(jù)庫(kù)

進(jìn)入mongod所在目錄 執(zhí)行命令 ./mongod --dbpath=存放數(shù)據(jù)的位置

例1:./mongod --dbpath=../data/dbname

例2:./mongod --dbpath=../data/dbname --port 自定義端口號(hào),默認(rèn)27017(了解即可,不推薦使用,修改默認(rèn)端口號(hào)后期維護(hù)麻煩)

插入數(shù)據(jù)

// 引入模塊
var mongoose = require('mongoose');
// 連接數(shù)據(jù)庫(kù)
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// 設(shè)置數(shù)據(jù)類型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"username"},
 age:{type:Number},
 sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
// 數(shù)據(jù)集
var content = {name:"Nick",age:23,sex:'男'};
// 實(shí)例化對(duì)象并插入數(shù)據(jù)
var monInsert = new monModel(content);
monInsert.save(function(err){
 if(err){
 console.log(err);
 }else{
 console.log('成功插入數(shù)據(jù)');
 }
 db.close();
});

刪除數(shù)據(jù)

// 引入模塊
var mongoose = require('mongoose');
// 連接數(shù)據(jù)庫(kù)
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// 設(shè)置數(shù)據(jù)類型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"name"},
 age:{type:Number},
 sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
// 要?jiǎng)h除的條件
var del = {name:"Nick"};

monModel.remove(del,function(err,result){
 if(err){
 console.log(err);
 }else{
 console.log("update");
 }
 db.close();
});

修改數(shù)據(jù)

// 引入模塊
var mongoose = require('mongoose');
// 連接數(shù)據(jù)庫(kù)
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// cosole.log(db);
// 設(shè)置數(shù)據(jù)類型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"name"},
 age:{type:Number},
 sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
// 原數(shù)據(jù)字段值
var oldValue = {name:"Nick"};
// 單條件更新
var newData1 = {$set:{name:"內(nèi)容"}};
// 多條件更新
var newData2 = {$set:{name:"內(nèi)容",age:2}};
monModel.update(oldValue,newData,function(err,result){
 if(err){
 console.log(err);
 }else{
 console.log("update");
 }
 db.close();
});

查詢數(shù)據(jù)

// 引入模塊
var mongoose = require('mongoose');
// 連接數(shù)據(jù)庫(kù)
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// cosole.log(db);
// 設(shè)置數(shù)據(jù)類型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"name"},
 age:{type:Number},
 sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
var content = {name:"姓名2"};
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();
});

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • npm錯(cuò)誤errno?-4048解決辦法

    npm錯(cuò)誤errno?-4048解決辦法

    這篇文章主要給大家介紹了關(guān)于npm錯(cuò)誤errno?-4048解決的相關(guān)資料,這個(gè)錯(cuò)誤代碼通常表示文件系統(tǒng)錯(cuò)誤或者硬件故障引起的問題,文中通過圖文將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Nuxt配合Node在實(shí)際生產(chǎn)中的應(yīng)用詳解

    Nuxt配合Node在實(shí)際生產(chǎn)中的應(yīng)用詳解

    這篇文章主要介紹了Nuxt配合Node在實(shí)際生產(chǎn)中的應(yīng)用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • Node.js中path.join()優(yōu)勢(shì)例舉分析

    Node.js中path.join()優(yōu)勢(shì)例舉分析

    在本篇文章里小編給大家整理的是一篇關(guān)于Node.js中path.join()優(yōu)勢(shì)例舉分析,有興趣的朋友們可以學(xué)習(xí)下。
    2021-08-08
  • nodejs如何在package.json中設(shè)置多條啟動(dòng)命令

    nodejs如何在package.json中設(shè)置多條啟動(dòng)命令

    這篇文章主要介紹了nodejs如何在package.json中設(shè)置多條啟動(dòng)命令,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Node.js高級(jí)編程之UDP可靠性分析

    Node.js高級(jí)編程之UDP可靠性分析

    這篇文章主要為大家介紹了Node.js高級(jí)編程之UDP可靠性分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • node.js用fs.rename強(qiáng)制重命名或移動(dòng)文件夾的方法

    node.js用fs.rename強(qiáng)制重命名或移動(dòng)文件夾的方法

    本篇文章主要介紹了node.js用fs.rename強(qiáng)制重命名或移動(dòng)文件夾的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • NodeJs 包管理工具的使用

    NodeJs 包管理工具的使用

    本文主要介紹了NodeJs 包管理工具,主要包括npm,cnpm及yarn,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Node.js中出現(xiàn)未捕獲異常的處理方法

    Node.js中出現(xiàn)未捕獲異常的處理方法

    這篇文章主要給大家介紹了關(guān)于Node.js中出現(xiàn)未捕獲異常的處理方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Nodejs實(shí)現(xiàn)獲取實(shí)時(shí)數(shù)據(jù)的三種主流方式詳解

    Nodejs實(shí)現(xiàn)獲取實(shí)時(shí)數(shù)據(jù)的三種主流方式詳解

    這篇文章主要為大家詳細(xì)介紹了Nodejs前端獲取實(shí)時(shí)數(shù)據(jù)的三種主流方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 解決Node.js包管理器安裝報(bào)錯(cuò)npm?ERR!?code?1的問題

    解決Node.js包管理器安裝報(bào)錯(cuò)npm?ERR!?code?1的問題

    在開發(fā)過程中,我們經(jīng)常需要使用各種Node.js包來擴(kuò)展我們的應(yīng)用程序功能,這些包通常通過npm(Node.js包管理器)進(jìn)行安裝和管理,有時(shí)候我們可能會(huì)遇到一些關(guān)于npm的錯(cuò)誤,本文將詳細(xì)介紹如何解決這個(gè)問題,并提供一個(gè)詳細(xì)的實(shí)例,需要的朋友可以參考下
    2024-03-03

最新評(píng)論