沖動的起源
很偶然的機會逛到了簡書這個網站,被網站的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語法介紹
- 進入mongodb的命令行工具后,使用下面的命令查詢當前可用的數據庫
>show dbs
- 創建一個數據庫使用
> use test
switched to db test
- 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" }
- 接下來就是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); }); }); } });