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

資訊專欄INFORMATION COLUMN

mongodb和nodejs mongoose使用詳解

ShowerSun / 1870人閱讀

摘要:安裝首先要安裝,具體安裝過程參考菜鳥教程運(yùn)行因?yàn)槲沂?,所以以下?nèi)容以系統(tǒng)為主,系統(tǒng)建議參考菜鳥教程進(jìn)入的文件目錄下,運(yùn)行執(zhí)行文件以管理員身份運(yùn)行然后另開一個(gè)命令行,同樣進(jìn)入的文件目錄下,運(yùn)行執(zhí)行文件,然后便會進(jìn)入的環(huán)境進(jìn)入的環(huán)境在的環(huán)境中可

安裝mongodb

首先要安裝mongodb,具體安裝過程參考菜鳥教程

運(yùn)行mongodb
因?yàn)槲沂莔ac,所以以下內(nèi)容以O(shè)S系統(tǒng)為主,Windows系統(tǒng)建議參考菜鳥教程

進(jìn)入mongodb的bin文件目錄下,運(yùn)行mongod執(zhí)行文件

sudo ./mongod //以管理員身份運(yùn)行

然后另開一個(gè)命令行,同樣進(jìn)入mongodb的bin文件目錄下,運(yùn)行mongo執(zhí)行文件,然后便會進(jìn)入mongodb的shell環(huán)境

./mongo
//進(jìn)入mongodb的shell環(huán)境
>2+2
4

在mongodb的shell環(huán)境中可以直接操作數(shù)據(jù)庫,語法請參考菜鳥教程
但shell操作比較反人類,我在這里推薦mongodb的GUI軟件——Robo 3T,可以自行在官網(wǎng)下載

nodejs中mongodb的API

在nodejs環(huán)境中我選擇的是mongoose模塊

var mongoose=require("mongoose")
mongoose語法
詳情請戳mongoose官網(wǎng)

連接數(shù)據(jù)庫

mongoose.connect("mongodb://localhost:27017/test")//test即為存儲的數(shù)據(jù)庫名稱,如果不存在將會自動生成
定義Schema和model
var CatSchema=mongoose.Schema({
    name:String,
    age:Number
})

var Cat=mongoose.model("Cat",CatSchema)
//也可以合二為一,直接定義model
var Cat=mongoose.model("Cat",{
    name:String,
    age:Number
})
//mongoose.model的第一個(gè)參數(shù)的字符串加上字母s便是儲存在的數(shù)據(jù)庫表單的名稱(Cats)
mongoose Schema常用預(yù)置類型:

String 字符串

Number 數(shù)字

Date 日期

Boolean 布爾值

和數(shù)組結(jié)合:[String] [Number]...

創(chuàng)建實(shí)例
var kitty=new Cat({
    name:"Kitty",
    age:3
})
插入
kitty.save(function(err,res){
    if(err) console.error(err)
    else console.log(res)//res為保存成功的對象
})
更新
var where={
    name:"Kitty"
}
var update={
    age:4
}

Cat.update(where,update,function(err,res){
    if(err) console.error(err)
    else console.log(res)
})

通過ID查找并更新的方法

Cat.findByIdAndUpdate(whereById,update,function(err,res)){
    if(err) console.error(err)
    else console.log(res)
})
刪除
Cat.remove(where,function(err,res))
//通過ID查找并刪除
Cat.findByIdAndRomove(where,function(err,res))
查找
Cat.find(where,function(err,res))//res 返回查找到的對象數(shù)組

//可以限定輸出的內(nèi)容
var opt={
     name:1//選擇輸出的值為1,不輸出的值為0(其他不指定默認(rèn)為0)
}
Cat.find(where,opt,function(err,res))

//var where=_id
Cat.findById(where,function(err,res))//res 輸出查詢到的對象
查詢
Cat.count(where,function(err,res))//res輸出查詢數(shù)量

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

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

相關(guān)文章

  • 公司項(xiàng)目NODEJS實(shí)踐0.3[ mongo / session ...]

    摘要:使用,可參考執(zhí)行退出命令,只要設(shè)置,即可。下節(jié)主要實(shí)現(xiàn)注冊時(shí)的郵件驗(yàn)證保存登錄狀態(tài)異常處理,同步異步操作全棧工程技術(shù)新群上一篇公司項(xiàng)目實(shí)踐下一篇待續(xù) 一、前言 ???書接上回,我們搭建了WEB服務(wù)端路由、模板等功能,完成了register 通過ajax與后端的通信,今天主要完成數(shù)據(jù)與mongodb的存取,實(shí)現(xiàn)注冊 / 登錄 / 退出功能 ???DEMO GIT https://gi...

    MoAir 評論0 收藏0
  • 阿里云ECS服務(wù)器部署Node.js項(xiàng)目全過程詳解

    摘要:本文詳細(xì)介紹如何部署項(xiàng)目到阿里云上,以及本人在部署過程中所遇到的問題坑點(diǎn)和解決辦法,可以說是全網(wǎng)最全最詳細(xì)的教程了。同時(shí)講解了如何申請阿里云免費(fèi)證書,以及一臺服務(wù)器配置多網(wǎng)站的配置方法等。優(yōu)惠券阿里云產(chǎn)品通用代金券最高元。 本文詳細(xì)介紹如何部署NodeJS項(xiàng)目到阿里云ECS上,以及本人在部署過程中所遇到的問題、坑點(diǎn)和解決辦法,可以說是全網(wǎng)最全最詳細(xì)的教程了。同時(shí)講解了如何申請阿里云免費(fèi)...

    XboxYan 評論0 收藏0
  • 手把手教你開發(fā)nodejs微博網(wǎng)站-連接數(shù)據(jù)庫

    摘要:連接數(shù)據(jù)庫引子博客肯定是以用戶為中心,包括用戶的注冊,用戶的登錄,用戶發(fā)表留言,對留言進(jìn)行評價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫。概念解析在中基本的概念是文檔集合數(shù)據(jù)庫。這兩種方式連接都需要,或者主機(jī)名字,數(shù)據(jù)庫名字,端口號,配置項(xiàng)等。 連接數(shù)據(jù)庫 引子 博客肯定是以用戶為中心,包括用戶的注冊,用戶的登錄,用戶發(fā)表留言,對留言進(jìn)行評價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫。 MongoDB M...

    waterc 評論0 收藏0
  • nodejs使用mongoose 獲取mongodb 數(shù)據(jù)格式化問題

    摘要:說明在中獲取數(shù)據(jù),不管使用回調(diào)函數(shù)還是又或者語法最后得到都是對象,不能直接操作如同普通對象一樣得到單行數(shù)據(jù)。還有就是時(shí)間格式化問題,見下面。 說明 在mongodb 中獲取數(shù)據(jù),不管使用回調(diào)函數(shù)還是Promise又或者generate 語法最后得到都是mongoose.Query對象,不能直接操作如同普通對象一樣得到單行數(shù)據(jù)。還有就是時(shí)間格式化問題,見下面。 下面示例默認(rèn)使用co 和...

    Ilikewhite 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<