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

一起开发网站(一)

作者: 江枫 | 来源:发表于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