冲动的起源
很偶然的机会逛到了简书这个网站,被网站的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); }); }); } });
网友评论