国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Node.Js篇 NodeJs使用MongoDB

這篇具有很好參考價(jià)值的文章主要介紹了Node.Js篇 NodeJs使用MongoDB。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

介紹

概念解析

??????????????????安裝

啟動(dòng)時(shí)注意事項(xiàng)

NodeJs操作Mongo


介紹

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由 C++ 語言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。


概念解析

mongodb nodejs,mongodb,node.js,數(shù)據(jù)庫


安裝

1:安裝mongodb-win32-x86_64-3.2.5-signed.msi
2:手動(dòng)創(chuàng)建目錄 如 C:\data\db ? 及 ?C:\data\dbConf
??????我們希望將數(shù)據(jù)庫及相關(guān)配置和日志等放入這兩個(gè)目錄中
3:管理員身份運(yùn)行 cmd
?? ?C:\Windows\System32\cmd.exe ? (找到該軟件,右鍵,管理員身份運(yùn)行)?? ?
4:進(jìn)入安裝文件夾
?? ?cd C:\Program Files\MongoDB\Server\3.2\bin
????????注意跨盤符的問題
5:執(zhí)行命令,數(shù)據(jù)庫存儲(chǔ)位置
?? ?mongod.exe --dbpath C:\data\db? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 注意:有時(shí)候第5步執(zhí)行后,有可能dos窗口無法輸入內(nèi)容,需要關(guān)掉窗口重新打開,執(zhí)行第6步;(或ctrl+c終止當(dāng)前命令)
6:執(zhí)行命令,日志和服務(wù)
?? ?mongod.exe --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install?? ?? ??

注意:在復(fù)制這一行的時(shí)候,要一行復(fù)制。windows記事本-格式-取消自動(dòng)換行
7:win+r ? > ? ?services.msc
?? ?找到剛才創(chuàng)建的服務(wù),YourServiceName,啟動(dòng)它,如果啟動(dòng)失敗,嘗試重啟電腦。
8:在nodejs的項(xiàng)目中,添加模塊
?? ?npm install mongodb? ? ? ? ? 注意:要先在dos窗口內(nèi)進(jìn)入項(xiàng)目文件夾,然后npm命令將模塊插入
9:編寫app.js
數(shù)據(jù)庫相關(guān)代碼,會(huì)在該頁面后面介紹。
10:node app.js
指開啟服務(wù)

安裝數(shù)據(jù)庫可視化工具
robomongo-0.9.0-rc7-windows-x86_64-2b7a8ca.exe
1:打開該工具
2:開啟連接窗口 MongoDB Connections
3:點(diǎn)擊Create按鈕創(chuàng)建一個(gè)連接,按照默認(rèn)項(xiàng)保存即可
4:選中該連接,點(diǎn)擊連接按鈕


啟動(dòng)時(shí)注意事項(xiàng)

執(zhí)行了 mongod.exe --dbpath C:\data\db 之后打開一個(gè)新管理員窗口到bin路勁下執(zhí)行mongo就是啟動(dòng)mongodb數(shù)據(jù)庫。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 注意:此方法?mongod.exe --dbpath C:\data\db 可以理解為啟動(dòng)服務(wù),mongo可以理解為連接數(shù)據(jù)庫。啟動(dòng)完之后就關(guān)閉那個(gè)窗口再連接會(huì)報(bào)‘由于目標(biāo)計(jì)算機(jī)積極拒絕,無法連接’,所以此方法不推薦使用

執(zhí)行安裝第六條的命令 mongod.exe --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install 之后再從命令行輸入services.msc找到Y(jié)ourServiceName服務(wù),右鍵啟動(dòng)此服務(wù),打開管理員dos窗口到bin路勁下輸入mongo就可以連接mongodb數(shù)據(jù)庫,此方法推薦使用。執(zhí)行了第六條命令(一邊即可),往后需要啟動(dòng)連接,僅需要從命令行輸入services.msc找到 YourServiceName服務(wù),右鍵啟動(dòng)此服務(wù)就可以連接了


NodeJs操作Mongo

進(jìn)入項(xiàng)目路勁下,安裝mongodb插件 npm install mongodb

var MongoClient=require('mongodb').MongoClient;
//.MongoClient是mongodb下的對(duì)象,可以理解為連接對(duì)象
var url = "mongodb://localhost:27017/data"
//url它不是一個(gè)網(wǎng)址,可以理解成數(shù)據(jù)庫的地址,在//的右邊local的左邊可以寫賬戶密碼,端口后面是數(shù)據(jù)庫
MongoClient.connect(url,function(err,db){
    if(err) throw err;
    console.log('數(shù)據(jù)庫已創(chuàng)建')
    db.close() //可以理解為把db關(guān)閉了,關(guān)閉了就不能使用db這個(gè)參數(shù)
})

?以下代碼是做一些簡(jiǎn)單的增刪改查

var MongoClient = require('mongodb').MongoClient //npm i mongodb 安裝驅(qū)動(dòng)
var url = "mongodb://localhost:27017/day0516" //端口后面的data是數(shù)據(jù)庫表示進(jìn)入data數(shù)據(jù)庫
var http = require('http')

http.createServer((req,res)=>{

    res.writeHead(200,{
        "Content-Type":"text/html;charset=utf-8"
    })

    //只要訪問這個(gè)JS文件,就直接打開數(shù)據(jù)庫
    MongoClient.connect(url,function(err,db){
        //一個(gè)電腦里面可以有很多數(shù)據(jù)庫,下面語義是進(jìn)入到data數(shù)據(jù)庫里
        var dbase = db.db("day0516")
        if(req.url=='/'){
            //創(chuàng)建一個(gè)集合(表),集合的命叫userlist,第二個(gè)參數(shù)
            dbase.createCollection('userlist',function(err,result){
                console.log('服務(wù)創(chuàng)建成功')
            })
            res.end();
        }else if(req.url=='/insert'){
            //在數(shù)據(jù)庫中找到表,然后用insertOne插入一條數(shù)據(jù),insertMany可以插入多條數(shù)據(jù)
            // var myobj = {"user":"張三","password":"123"}
            var myobj = [
                        {"user":"劉備","password":"111","random":parseInt(Math.random()*1000)},
                        {"user":"關(guān)羽","password":"222","random":parseInt(Math.random()*1000)},
                        {"user":"張飛","password":"333","random":parseInt(Math.random()*1000)}
                    ]
            dbase.collection('userlist').insertMany(myobj,function(err,result){
                console.log('文檔插入成功');
                res.end()
            })
        }else if(req.url=='/select'){
            //查詢數(shù)據(jù),排序,數(shù)量
            var nul ={} //無條件查詢,查詢所有
            var where = {user:'張飛',password:'333'} //查詢條件為user是張飛并且密碼是333
            var mysort = {random:-1} //排序 random語義是根據(jù)random字段進(jìn)行排序
            // limit(3) 表示返回3條數(shù)據(jù) 
            // skip(1) 表示跳過1條
            dbase.collection('userlist').find(nul).sort(mysort).skip(1).limit(2).toArray(function(err,result){
                console.log(result)
                result.forEach(data=>{
                    res.write(data.user+":"+data.password+" - "+data.random+'<br>')
                })
                res.end()
            })
        }else if(req.url=='/update'){
            //更新數(shù)據(jù)  updateOne更新一條數(shù)據(jù)  updateMany更新多條數(shù)據(jù)
            var whereStr = {"user":"張飛"}  //表示更新條件
            var updateStr = {$set:{"password":"44444"}}  //表示新的值
            dbase.collection('userlist').updateOne(whereStr,updateStr,function(err,result){
                console.log('文檔更新成功',result);
                res.end()
            })
        }else if(req.url=='/delete'){
            //刪除
            var whereStr={"user":"張飛"}
            dbase.collection('userlist').deleteMany(whereStr,function(err,result){
                console.log('文檔刪除成功',result);
                res.end()
            })
        }
    })
    // res.end()
}).listen(8085) 



?文章來源地址http://www.zghlxwxcb.cn/news/detail-697777.html

到了這里,關(guān)于Node.Js篇 NodeJs使用MongoDB的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Node.js從基礎(chǔ)到高級(jí)運(yùn)用】十三、NodeJS中間件高級(jí)應(yīng)用

    【Node.js從基礎(chǔ)到高級(jí)運(yùn)用】十三、NodeJS中間件高級(jí)應(yīng)用

    在現(xiàn)代web開發(fā)中,Node.js因其高效和靈活性而備受青睞。其中,中間件的概念是構(gòu)建高效Node.js應(yīng)用的關(guān)鍵。在這篇博客文章中,我們將深入探討Node.js中間件的高級(jí)應(yīng)用,包括創(chuàng)建自定義中間件、使用第三方中間件等。我們將從基礎(chǔ)講起,逐步深入,旨在為讀者提供全面而深入

    2024年03月22日
    瀏覽(26)
  • Nodejs 入門8 NeDB 輕量級(jí)的Node.js 數(shù)據(jù)庫

    Nodejs 入門8 NeDB 輕量級(jí)的Node.js 數(shù)據(jù)庫

    常用的sqlite輕量級(jí)數(shù)據(jù)庫,nodejs在windows環(huán)境下安裝配置有時(shí)候會(huì)比較麻煩,很難順利安裝。 Nedb(Node Embedded Database)在一些情況下可以替代sqlite,特別適用于小型項(xiàng)目和快速原型開發(fā)。本文將介紹Nedb的基本概念、特性和使用方法,以幫助大家更好地了解和利用這個(gè)便捷的工

    2024年01月22日
    瀏覽(30)
  • 記錄一下,C#運(yùn)行nodejs調(diào)用js文件提示報(bào)錯(cuò):Error: node:internal/modules/cjs/loader:1080

    個(gè)人記錄一下,C#運(yùn)行nodejs調(diào)用js文件提示報(bào)錯(cuò): 報(bào)錯(cuò)提示信息: Error: node:internal/modules/cjs/loader:1080 throw err; ? ^ ?Error: Cannot find module \\\'F:鎴戠殑....................” .....................下面還有很多報(bào)錯(cuò)內(nèi)容 還有英文提示模塊未找到的提示。 我另一個(gè)文件運(yùn)行沒報(bào)錯(cuò),運(yùn)行正常有

    2024年02月11日
    瀏覽(30)
  • 在 Node.js 中使用 MongoDB 事務(wù)

    MongoDB事務(wù) 事務(wù)介紹 在 MongoDB 中,對(duì)單個(gè)文檔的操作是原子的。由于您可以使用嵌入的文檔和數(shù)組來捕獲單個(gè)文檔結(jié)構(gòu)中的數(shù)據(jù)之間的關(guān)系,而不是跨多個(gè)文檔和集合進(jìn)行規(guī)范化,因此這種單一文檔的原子性消除了對(duì)多文檔的需求許多實(shí)際用例的事務(wù)。 對(duì)于需要對(duì)多個(gè)文檔(

    2024年02月10日
    瀏覽(17)
  • 最新版 nodejs和npm版本不匹配問題解決:ERROR: npm v9.5.1 is known not to run on Node.js

    最新版 nodejs和npm版本不匹配問題解決:ERROR: npm v9.5.1 is known not to run on Node.js

    最近項(xiàng)目用到了node和npm ,查看一下當(dāng)前版本,發(fā)現(xiàn)有報(bào)錯(cuò) ? ERROR: npm v9.6.2 is known not to run on Node.js v12.13.1. You\\\'ll need to upgrade to a newer Node.js version in order to use this version of npm. This version of npm supports the following node versions: `^14.17.0 || ^16.13.0 || =18.0.0`. You can find the latest version at https

    2023年04月16日
    瀏覽(37)
  • 在Node.js中使用MongoDB連接數(shù)據(jù)庫、創(chuàng)建集合

    在Node.js中使用MongoDB連接數(shù)據(jù)庫、創(chuàng)建集合

    本文主要介紹在Node.js中使用MongoDB連接數(shù)據(jù)庫、創(chuàng)建集合的方法。 在Node.js中使用MongoDB連接數(shù)據(jù)庫有兩種方式:使用原生驅(qū)動(dòng)程序和使用Mongoose。 首先,需要安裝 mongodb 模塊??梢酝ㄟ^以下命令來安裝: 安裝完成后,可以在代碼中引入模塊: 接著,可以使用 MongoClient 來連接

    2024年02月04日
    瀏覽(82)
  • Mongodb 以及 node.js中使用mongoose操作數(shù)據(jù)庫

    目錄 1、lowdb 2、Mongodb是什么? 3、Mongodb核心概念 4、Mongodb的下載與使用 5、數(shù)據(jù)庫與集合命令 5.1、數(shù)據(jù)庫命令 5.2、集合命令 5.3、文檔命令 6、Mongoose 6.1、插入文檔 6.2、字段類型 6.3、字段值驗(yàn)證 6.3.1、必填項(xiàng) 6.3.2、默認(rèn)值 6.3.3、枚舉值 6.3.4、唯一值 6.4、刪除文檔 6.5、更新文

    2024年02月11日
    瀏覽(28)
  • Error: Cannot find module E:\nodejs\node_modules\npm\bin\npm-cli.js

    Error: Cannot find module E:\nodejs\node_modules\npm\bin\npm-cli.js

    在用node開發(fā)服務(wù)器端的時(shí)候,發(fā)現(xiàn)用npm下載一個(gè)插件,成功之后,再用npm命令進(jìn)行相關(guān)操作,報(bào)錯(cuò)了Error: Cannot find module E:nodejsnode_modulesnpmbinnpm-cli.js。 這個(gè)錯(cuò)誤翻譯過來就是說:找不到nodejsnode_modulesnpmbinnpm-cli.js這個(gè)路徑對(duì)應(yīng)的文件了,跑我的E盤看的時(shí)候,確實(shí)npm文件

    2024年02月08日
    瀏覽(101)
  • nvm安裝node后,報(bào)錯(cuò)Cannot find module ‘C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js‘

    問題描述 nvm安裝node后,也會(huì)自動(dòng)安裝npm工具,但是在提示安裝完成之后,使用npm相關(guān)命令時(shí),會(huì)報(bào)如下錯(cuò)誤 Error: Cannot find module \\\'C:Program Filesnodejsnode_modulesnpmbinnpm-cli.js\\\' 原因: 可以查看當(dāng)前node版本? node -v,如v14.18.1,然后去nvm安裝地址中找C:Users10153615AppDataRoamingnvm,

    2024年04月13日
    瀏覽(102)
  • Node.js開發(fā)-MongoDB

    介紹 Mongoose 是一個(gè)對(duì)象文檔模型庫,官網(wǎng) http://www.mongoosejs.net/ 作用 方便使用代碼操作 mongodb 數(shù)據(jù)庫 使用流程 文檔結(jié)構(gòu)可選的常用字段類型列表 類型 描述 String 字符串 Number 數(shù)字 Boolean 布爾值 Array 數(shù)組,也可以使用 [] 來標(biāo)識(shí) Date 日期 Buffer Buffer 對(duì)象 Mixed 任意類型,需要使

    2024年02月20日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包