<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                1.獲取本地數據庫數據 在node項目中,找到當初我們的數據庫配置: ![](https://img.kancloud.cn/94/72/947246f14eb670e562434fe7e19aa23d_1261x844.png) 找到我的數據庫名為node-mine,所以根據數據庫名調取數據庫,使用mongodump方法: ``` // -d表示需要導出的是數據庫 mongodump -d node-mine ``` ![](https://img.kancloud.cn/53/69/5369a5035311c1878f242118e8d42ea0_1261x844.png) 糟,有報錯,需要配置系統變量。 找到mongodb的bin目錄,賦值到系統變量Path中: ![](https://img.kancloud.cn/04/3b/043bdc55973a7508c434842e7a3fb564_541x570.png) 確定后重啟vscode,輸入mongodump命令: ![](https://img.kancloud.cn/b4/a9/b4a98038e142700bacea04eb5432cb06_456x70.png) 依舊有報錯,查詢原因大概是msi下載mongodb方式缺少了一些文件mongo工具類,所以需要下載mongodb數據庫工具的zip包,將其中bin文件夾中之前沒有的內容復制進已安裝好mongodb的bin文件夾中。 ![](https://img.kancloud.cn/48/8b/488b5eae70e7ffedb97e737cd29d72cc_1286x1203.png) ![](https://img.kancloud.cn/26/89/26894f6c5c3c17cafe944e24425d1d5e_778x399.png) 復制進去之后,看見沒,那個mongodump.exe: ![](https://img.kancloud.cn/a5/29/a529ac509120c557226eebb2f68306b4_963x526.png) 這回再重啟vscode嘗試mongodump命令: ![](https://img.kancloud.cn/1f/cd/1fcd43f32a89932dde5d67477162f772_1261x844.png) 啊,真爽。 此時數據庫中的數據已經獲取到了,下一步導入到服務器中。 2.導入數據庫數據到網站服務器 (1)通過vscode進入網站服務器,今天不用之前那個服務器配置文件夾了,進入root用戶個人文件夾: ![](https://img.kancloud.cn/62/47/62478a3d384873c670e157a13a138957_1261x844.png) 將dump文件直接復制到網站服務器root文件夾下: ![](https://img.kancloud.cn/0b/3d/0b3d13ac324e65f3933f61cc08f0234b_486x844.png) 調出終端,執行命令mongorestore,mongodump與mongorestore是成對存在的,分別是導出和導入: ![](https://img.kancloud.cn/92/54/925443c502d11b46e027d38e7665ed1e_1024x768.png) 此時導入成功,數據應該存在了,回到admin端網頁登錄輸入密碼進行查看: ![](https://img.kancloud.cn/70/cf/70cf4b3b630395f3eea71c554c51e2f8_739x423.png) ![](https://img.kancloud.cn/47/d7/47d763d47a040696b62ee8cb2a6edb9a_1286x1203.png) 成功。訪問其他數據: ![](https://img.kancloud.cn/3c/2f/3c2f7ef51db07a16c13f74bae6078fa9_1286x652.png) 有錯誤,但既然可以登錄,就跟數據庫沒關系。 我猜猜啊,看他報錯是找不到module,找不到inflection包,所以應該是接口命名單復數的問題。 以下斜體內容為我測試內容,大家暫時不要操作: 我記得admin和web端中的npm包還沒有更新,去admin端文件夾中更新試一下。 直接上git bash,速度快一些: ![](https://img.kancloud.cn/46/c1/46c14156430c819c1285e8f1534089c8_595x377.png) ![](https://img.kancloud.cn/7f/be/7fbecc3303ed86db9ecd6dab1c483829_193x29.png) 這次試一下還是不行,還是找不到inflection,得了,專門下載一下inflection試試: ![](https://img.kancloud.cn/ca/66/ca665dae5e0c01042f1766161ae8da22_558x67.png) 還是不行,重啟服務器:) ![](https://img.kancloud.cn/de/48/de48696373036ae67f58f030843d3c27_561x465.png) 最終解決: 還是不行,再試一下在server端安裝inflection,重啟一下項目: ![](https://img.kancloud.cn/f3/20/f3209a433f59683b766d93f53546be10_560x326.png) 刷新頁面,出現內容了: ![](https://img.kancloud.cn/d2/7b/d27bdf56941099fc6237889e0127e0e8_1286x652.png) 反正就是找不到包,之后碰到包的問題,直接在server端重新下載,反正web和admin都扔進來了,其他兩個外部文件夾基本沒什么用了。 檢查下其他頁面: ![](https://img.kancloud.cn/ad/5c/ad5c44c9b6f07be2e1bfb0da3c712e00_1286x652.png) 圖片都不在了,檢查下原因,是因為當初我們存儲圖片的時候,路徑用的都是http://localhost:3000/…: ![](https://img.kancloud.cn/d4/c9/d4c983141ce7952936b8d58f2601d741_1286x1203.png) 所以我們需要在vscode中改一下,當然圖片已經無法改回去了,我們要做的是讓以后上傳的圖片路徑是對的。 3.本地修改功能更新上傳到網站服務器 其實目前我們通過vscode遠程連接,可以直接修改圖片連接的功能,只需要進入到node-mne的文件夾,手動找到server/routes/admin/index.js即可: ![](https://img.kancloud.cn/61/68/616882c4525a7c8a37e8e71a96176827_1024x768.png) 但是后期我們需要完善網站內容,還是需要本地先進行功能上的完善,繼續補充上傳到git服務器再到網站服務器中。所以本次我們在本地修改,走一遍流程。 (1)本地修改代碼 ![](https://img.kancloud.cn/81/55/81558187ff0a445daef6099805ed4c73_1261x844.png) (2)查看當前git版本庫狀態 ``` git status ``` ![](https://img.kancloud.cn/79/63/79633ce3ce17aad01e88549c4292cfe5_1261x844.png) 我們剛才修改的文件index.js已被找到,此時發現我們之前遷移數據庫時的文件,已經沒用了,刪了即可。刪除后再次執行命令: ![](https://img.kancloud.cn/18/28/1828275ab135bf6b0894c36b591dc604_505x199.png) 確認更改了此文件,下一步,可以查看此文件哪里被修改了: ``` git diff ``` ![](https://img.kancloud.cn/57/8a/578a0f1107ba8c9cbbd9d596ee912350_534x228.png) (3)提交本地代碼到git服務器 與之前過程相同,二次提交內容: ``` git commit -am "修改了上傳圖片功能的url" ``` ![](https://img.kancloud.cn/57/1c/571ca22f953eced9a412a3ffbb7b2ece_650x54.png) 推送更改到git服務器版本庫中: ``` git push ``` ![](https://img.kancloud.cn/5f/54/5f54ca0334a9ef5ff03d04d857e9c38a_515x177.png) 此時我們的gitee中代碼就更新了。 但此時還沒有到網站服務器,所以需要在網站服務器中拉取數據。 (4)網站服務器拉取項目數據 ``` git pull ``` ![](https://img.kancloud.cn/8b/7e/8b7e534fe1e26ee474284df3d573a93c_595x559.png) (5)重啟pm2服務 每次代碼更新后都需要重啟服務,pm2只要不重啟服務器就不會有所更新,所以我們要手動重啟: ``` pm2 reload index ``` 之前我都是先關了再開,沒想到還有這種好命令:)。 ![](https://img.kancloud.cn/31/00/3100e969276097dfdd0dfe03ec771db0_550x76.png) 此時,代碼更新完成。 4.更改網站服務器中的圖片地址 其實就是介紹一下mongodb的可視化軟件——Robo 3T。 (1)安裝Robo 3T [下載地址https://robomongo.org/](https://robomongo.org/) ![](https://img.kancloud.cn/dd/d2/ddd2d83eb38412729cbbbea870e78504_1286x1203.png) 下載zip安裝包后傻瓜安裝: ![](https://img.kancloud.cn/01/90/01907ab7c5ce55e71ef55739ce20cf35_637x79.png) 安裝成功后進入軟件。 (2)遠程連接數據庫 ![](https://img.kancloud.cn/c1/4f/c14ff9322c7ce55f15782a1312af03e5_2320x1299.png) 與MySQL的Navicat相同,都是遠程連接到服務器數據庫: ![](https://img.kancloud.cn/5b/58/5b58b9b00a19cd49e2345ae4fd7f4ca8_1128x401.png) 點擊連接后進入數據庫,其中分為三種形式,表格形式與navicat相同,代碼格式就是以json格式呈現。 (3)修改圖片數據 修改數據方法有兩種,第一種與Navicat相似,直接進入表格格式進行修改保存,但同樣修改的是代碼格式: ![](https://img.kancloud.cn/8a/59/8a5978d4e875050f24a7a27cb479baa0_990x528.png) 修改后保存即可: ![](https://img.kancloud.cn/f1/9c/f19cddd2dc2c7074432d0befbbf80a92_902x941.png) 第二種就是代碼形式修改,利用js代碼對json數據進行編輯: ![](https://img.kancloud.cn/b6/6d/b66da11d251599837ca258f89a20a0a8_1321x1090.png) 例如現在我需要修改廣告頁面中的所有圖片地址,只需要用map遍歷數組找到每條數據中的items中的image,利用replace修改其部分內容。 ``` db.getCollection('ads').find({}).map(doc => { // 如果doc.items.image存在,則將localhost:3000改為zslhr.top,否則為null doc.items.image = doc.items.image ? doc.items.replace('localhost:3000', 'zslhr.top') : null // 數據庫.集合.save方法 進行修改數據,沒有這條將不會修改 db.ads.save() // 運行顯示修改后內容 return doc }) ``` ![](https://img.kancloud.cn/26/5a/265a568b43acd8e6a131acf40d8965a6_1321x1090.png) Ctrl + Enter運行: ![](https://img.kancloud.cn/94/2e/942ef8f332f1c5b210b12f83978c32b9_1321x1090.png) ???,不可以保存null?那就改成空字符串再試一下,還是不行,可能是數據中的image都存在的原因,大致修改代碼,不用三元表達式: ![](https://img.kancloud.cn/59/ff/59ff1542446b62179306a9f2ba1aabe3_1321x1090.png) 說找不到image,想了以下原因可能是image在items下邊的數組中,應該有索引值 ![](https://img.kancloud.cn/90/b1/90b1795b59bf7a06b06ad116292b62b0_1321x1090.png) 所以在doc中再套一層map測試: ``` db.getCollection('ads').find({}).map(doc => { doc.items.map(doc2 => { // 如果doc.items.image存在,則將localhost:3000改為zslhr.top,否則為null doc2.image = doc2.image ? doc2.image.replace('localhost:3000', 'zslhr.top') : null // 運行顯示修改后內容 return doc2 }) // 數據庫.集合.save方法 進行修改數據,沒有這條將不會修改,另外save()方法中要將doc加入,否則保存全局時會找不到 db.ads.save(doc) return doc }) ``` ![](https://img.kancloud.cn/95/20/952018a2929f696fe95471dedee09479_1321x1090.png) 修改成功,此時回到頁面中刷新測試: ![](https://img.kancloud.cn/b7/a8/b7a89cae79529a22e8abb2b61d59394c_1286x652.png) 成功。 到此,項目上線已經掌握,node.js+vue.js方法學習到此結束,在之后完善我的網站時碰到問題我會繼續編輯文章,大家有什么問題可以評論我們一起解決。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看