一起開發網站(一)

沖動的起源

很偶然的機會逛到了簡書這個網站,被網站的UI所吸引,因為之前玩過github,用markdown寫過項目的README,當發現簡書支持markdown的語法時,瞬間就愛不釋手了,興奮驚喜之余在朋友圈發了條狀態,恨不得所有朋友都能夠一起玩。

之后看了一篇文章:如何堅持每天寫一千字,挺有感觸,由于自己一直想提筆寫文字,加之遇到了markdown,然后是簡書,心中積蓄的渴望一下子就爆發了,這里也給自己一個鼓勵,希望自己能夠堅持下去。

想寫只邁了第一步,寫什么確實一個需要斟酌的事情,特別是考慮到持續發展上,由于自己工作性質的原因,似乎寫寫和工作相關的東西比較容易上手,接著就有了你現在看到的文章標題:我們一起開發網站,網站開發是一個系統性的工作,設計到方方面面的東西,因此,期待深入講解的筒子們可以就此止步了,最后希望我的文字能帶給你想要的。

數據存儲篇

用戶訪問我們站點的時候有可能會與之交互,這個過程中會產生一些數據,如何保存這些數據,使得用戶下一次訪問我們網站時仍能夠訪問到這些數據呢?
這里要用到數據庫去保存用戶產生的數據,我們使用mongodb,了解數據庫的同學要問了,為什么不使用sqlserver,不使用oracle,mysql呢?簡單將一些原因

  • 不使用oracle,sqlserver是因為工作中一直在使用,安裝一個oracle比較麻煩,自己電腦硬件配置不怎么好,擔心跑不動
  • 不使用mysql是因為N年之前玩過mysql,人總是會喜新厭舊,加之NoSql的概念最近幾年被炒到火熱,所以有想試試的沖動。

安裝mongodb

安裝的過程其實沒什么說的,到官網下載一個你電腦對應的安裝包,接下來就跟安裝其他軟件一樣的流程。

這里講一個安裝完成之后啟動mongodb遇到的問題,報錯的信息如下:

>mongo
>error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js

報錯的原意就是因為沒有啟動mongodb的服務,直接去連接數據庫當然就連接不上了。

正確的方式,首先啟動mongodb數據庫服務,這時需要指定使用的數據庫文件目錄:

D:\>mongod --dbpath d:/"Program Files"/mongodb/data

接著啟動mongodb的命令行工具連接到mongodb數據庫

D:\>mongo

MongoDb的NoSql語法介紹

  1. 進入mongodb的命令行工具后,使用下面的命令查詢當前可用的數據庫

>show dbs

  1. 創建一個數據庫使用

> use test
switched to db test

  1. mongodb使用bson作為數據存儲和傳輸的格式,bson是一種類似json的二進制序數據格式,mongodb很像mysql,document對應mysql的row,collection對應mysql的table,查看document和collection可以使用下面的命令:

> show collections
system.indexes
user
>db.user.find()
{ "_id" : ObjectId("541d590e60d69b6aa35bc3b3"), "name" : "jiangfeng", "sex" :"man" }

  1. 接下來就是dml語句了

> db.user.insert({name:'name1' , sex:'man' ,age:20})
> db.user.insert({name:'lili' , sex:'woman' ,age:22})
> db.user.insert({name:'zhangsan' , sex:'man' ,age:27})

> db.user.find()
{ "_id" : ObjectId("541d836c60d69b6aa35bc3b5"), "name" : "name1", "sex" : "man","age" : 20 }
{ "_id" : ObjectId("541d839060d69b6aa35bc3b6"), "name" : "lili", "sex" : "woman", "age" : 22 }
{ "_id" : ObjectId("541d83a060d69b6aa35bc3b7"), "name" : "zhangsan", "sex" : "man", "age" : 27 }

> db.user.find({age : {$lt:30}, sex:'man' , name :'name1'})
{ "_id" : ObjectId("541d836c60d69b6aa35bc3b5"), "name" : "name1", "sex" : "man", "age" : 20 }

> db.user.update({name:'name1'},{$set:{name:'sb'}})
> db.user.find({name :'sb'})
{ "_id" : ObjectId("541d836c60d69b6aa35bc3b5"), "age" : 20, "name" : "dsb", "sex" : "man" }

> db.user.remove({_id:ObjectId('541d595460d69b4')})
> db.user.remove({name:'zhangsan'})

ok,至此我們就安裝好了mongodb,并且也熟悉了其操作數據的基本語法,接下來就是如何在程序中連接mongodb并且對數據進行增刪改查的操作了。

nodejs操作mongodb

  • 首先需要安裝nodejs,下載適合的版本

  • 安裝mongodb的軟件包
    npm install mongodb

  • 在代碼中操作mongodb
    var mongo = require('mongodb'),
    Server = mongo.Server,
    Db = mongo.Db;

      var server = new Server('localhost', 27017, {auto_reconnect: true});
      var db = new Db('blog', server);    
    
      db.open(function(err, db) {
          if(!err) {
              db.collection('user', function(err, collection){
    
                  collection.insert({name:"zhangsan" , sex : "woman" , age:27 });
          
                  collection.update({name:'zhangsan'} , {$push:{token:"@1121"}},{multi:true});
    
                  collection.remove({name:'zhangsan'});
    
                  collection.find().toArray(function(error, user){
                      console.log(user);
                  });
               });
          }
    });
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容