爱链笔记-mongodb

说到后端肯定要涉及到数据存储,不过开始我也没设计到底用什么来存储数据,是另一个哥们来弄,为什么不用自带的sqlite也不是很清楚,开始使用的couchDB还可以从浏览器打开一个图形化界面,还挺不错的,后来好想遇到点问题,最后改成mongodb了,结果他就萎了,剩下的只能自己来咯。

在做这个之前我是一点也没接触过数据库,最多也就听说过SQL。一上来就是noSQL,我还挺懵逼的。后来慢慢看了一些资料才知道是not only sql的意思。传统的sql是关系型数据库,把数据以表的形式组织,性能面对海量数据需求时有瓶颈,所以nosql因运而生。当然,我这个应用对性能没啥要求,可能就是我那个哥们想练练手,熟悉一下,结果还没开始,自己先萎了。

具体的操作https://blog.csdn.net/sun754276603/article/details/49179237这一系列讲的很详细,我就简单讲讲我用的吧。

首先就是django和mongodb怎么结合。第一得安装mongoengine,pip就可以。然后在django的settings文件中设置数据库。

DATABASES = {
    'default': {
        'ENGINE': None, # 把默认的数据库连接至为None
    }
}
from mongoengine import connect
connect('oath') # 连接的数据库名称

之后在app的models里面新建数据模型

class oath(Document):

     """ 誓言 """

     meta = {

         'collection': 'oath',  # 定义集合名称

     }

     name = StringField(max_length=32)  # max_length最大长度,required=True 不能不填写

     oathTitle=StringField()

     oathText = StringField()

     openid=StringField()

     avatarUrl=StringField()

     image=StringField()

     tx_hash=StringField()

     time=StringField()

     pNum=StringField()

然后在视图文件里面就可以使用了。先from .models import oath和from mongoengine import *引入数据模型和mongoengine,然后connect('oath')连接到数据库。剩下就是在views里面增删改查的操作了。

和couchDB相比它没有一个网页界面来管理数据库,还比较麻烦。只能在linux命令行里输入mongo进入mongodb的管理程序,然后使用show命令看现在有什么数据库,使用use命令转到目标数据库,再用find().pretty()显示内容。

 

posted @ 2018-11-02 10:57  yzccoding  阅读(93)  评论(0编辑  收藏  举报