美文网首页
一起开发网站(一)

一起开发网站(一)

作者: 江枫 | 来源:发表于2014-09-20 22:06 被阅读156次

冲动的起源

很偶然的机会逛到了简书这个网站,被网站的UI所吸引,因为之前玩过github,用markdown写过项目的README,当发现简书支持markdown的语法时,瞬间就爱不释手了,兴奋惊喜之余在朋友圈发了条状态,恨不得所有朋友都能够一起玩。

之后看了一篇文章:如何坚持每天写一千字,挺有感触,由于自己一直想提笔写文字,加之遇到了markdown,然后是简书,心中积蓄的渴望一下子就爆发了,这里也给自己一个鼓励,希望自己能够坚持下去。

想写只迈了第一步,写什么确实一个需要斟酌的事情,特别是考虑到持续发展上,由于自己工作性质的原因,似乎写写和工作相关的东西比较容易上手,接着就有了你现在看到的文章标题:我们一起开发网站,网站开发是一个系统性的工作,设计到方方面面的东西,因此,期待深入讲解的筒子们可以就此止步了,最后希望我的文字能带给你想要的。

数据存储篇

用户访问我们站点的时候有可能会与之交互,这个过程中会产生一些数据,如何保存这些数据,使得用户下一次访问我们网站时仍能够访问到这些数据呢?
这里要用到数据库去保存用户产生的数据,我们使用mongodb,了解数据库的同学要问了,为什么不使用sqlserver,不使用oraclemysql呢?简单将一些原因

  • 不使用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);
                  });
               });
          }
    });
    

相关文章

网友评论

      本文标题:一起开发网站(一)

      本文链接:https://www.haomeiwen.com/subject/cfrutttx.html