Django操作mongodb

我的项目中已经使用了mysql,现在设计了两个表想要采用mongodb数据库进行存储。

步骤如下(mongodb安装启动在https://www.cnblogs.com/huanhuaqingfeng/p/11188024.html中查看)

1,安装mongoengine

pip  install mongoengine

在django中,mongoengine是django与mongodb数据库的连接器

2, 修改settings.py

DATABASES = {

    ‘default‘: {        ‘ENGINE‘: ‘django.db.backends.mysql‘,        ‘NAME‘: ‘builddatabase‘,        ‘USER‘: ‘root‘,        ‘PASSWORD‘: ‘likeshe‘,        ‘HOST‘: ‘127.0.0.1‘,        ‘PORT‘: ‘3306‘,    },    ‘db1‘: {        ‘ENGINE‘:None,    }}

import mongoengine     #导入mongoengine
conn = mongoengine.connect("Print_Analysis")  ##Print_Analysis ,我的mongodb数据库的名字

3,在我的应用Print_Analysis的models.py 中添加表类
import mongoengine

class log_info(mongoengine.Document):    fun_name=mongoengine.StringField(max_length=100)    dir_name = mongoengine.StringField(max_length=100)    log_name = mongoengine.StringField(max_length=100)    path = mongoengine.StringField(max_length=255)    status = mongoengine.StringField(max_length=16)    case_num=mongoengine.IntField()    half_case_num = mongoengine.IntField()    fail_case_num = mongoengine.IntField()    line_num = mongoengine.IntField()    case_ids = mongoengine.ListField()

class case_info(mongoengine.Document):    funtion = mongoengine.StringField(max_length=255)    exe_status = mongoengine.StringField(max_length=16)    line_start = mongoengine.IntField()    line_end = mongoengine.IntField()    error_count = mongoengine.IntField()    level = mongoengine.IntField()    sucess_num = mongoengine.IntField()    fail_num = mongoengine.IntField()    status_info = mongoengine.ListField()

4,在Print_Analysis的view.py 中添加测试代码
def anlaysis_result_test():   var = log_info.objects.create(fun_name="123", dir_name="456", log_name="11.log", path="/usr/local/cc.log", status="sucess",                          case_num=0, half_case_num=0,fail_case_num=0,line_num=0,case_ids=None)   print(var)   return {‘status‘: ‘already‘}
def index(request):          logger.info("request.method=%s" ,request.method)      #logger.info("request.body=%s" ,request.body)      logger.info("content_type=%s",request.content_type)      logger.info(   "user=%s",request.user.username)      logger.info( "is_authenticated=%d",request.user.is_authenticated())      logger.info( "request.path=%s",request.path)      if not request.user.is_authenticated():         return HttpResponseForbidden()

      if request.method==‘POST‘:         body = eval(request.body)         op_type = str(body[‘op_type‘])         if op_type == ‘anlaysis_result_test‘:            result=anlaysis_result_test()            return JsonResponse(result)

5,url路由,Print_Analysis添加在urls.py和settings.py中搞定,这里不说了。(可以查看https://www.cnblogs.com/huanhuaqingfeng/p/11101751.html)

6,python测试代码
def anlaysis_test():        data = {}    data[‘op_type‘] = "anlaysis_result_test"    response = httprequest.post(url_path + "print_analysis/", json=data)    print response.text
if __name__ == ‘__main__‘:          
anlaysis_test()

7,查看数据库
   执行完测试后,查看数据库   ./mongo进入shell   

show dbs 显示所有存在的mongodb数据库

use Print_Analysis 切换到我的Print_Analysis 数据库

show tables 显示Print_Analysis中的表(又叫集合)

db.log_info.find() 查看集合log_info中的数据

原文地址:https://www.cnblogs.com/huanhuaqingfeng/p/11198711.html

时间: 2024-10-29 19:40:12

Django操作mongodb的相关文章

Django用mongoengine操作mongodb

最近在写Django项目,使用的是mongodb,虽然Django不支持NoSQL,但是mongoengine可以帮助我们像ORM一样在Django项目中去操作mongodb 推荐一个可视化工具  Robo 3T 这里贴几个我觉得比较有帮助的帖子,特别是在一对一,一对多的引用 先放mongoengine的官方文档 http://docs.mongoengine.org/tutorial.html 这是翻译的中文文档,版本比较老,对应官方文档看https://www.cnblogs.com/fil

djongo:Django和MongoDB连接器

在Django项目中使用MongoDB作为后端数据库,且不改变Django的ORM框架.实现Django用户管理程序对MongoDB数据库中文件的增加和修改. 用法 1.pip install djongo 2.在Django项目下的setting.py中增加如下代码: DATABASES ={ 'default':{ 'ENGINE:'djongo', 'NAME':'your-db-name', } } 3.运行 manage.py makemigrations,之后运行 manage.py

Ruby操作MongoDB(进阶)-CRUD操作

MongDB数据库的使用离不开CRUD操作.什么是CRUD,就是创建文档,读取文档信息,更新文档和删除文档. key-value键值对标记 在MongoDB的Ruby驱动中,Key_value键值多次出现.而且有时会出现语法上的巧合,这取决于在使用的Ruby版本中如何申明. 在文档创建步骤中,1.9及之后版本支持以下语法: document={name:"Tom",age:20}. 但是如果你使用的是2.2或者更高的版本,你可以用双引号将你的key包起来.如: document={&q

PHP操作MongoDB技术总结

<?php /** * PHP操作MongoDB学习笔记 */ //************************* //** 连接MongoDB数据库 **// //************************* //格式=>("mongodb://用户名:密码 @地址:端口/默认指定数据库",参数) $conn = new Mongo(); //可以简写为 //$conn=new Mongo(); #连接本地主机,默认端口. //$conn=new Mongo(&

node操作MongoDB数据库之插入

在上一篇中我们介绍了MongoDB的安装与配置,接下来的我们来看看在node中怎样操作MongoDB数据库. 在操作数据库之前,首先应该像关系型数据库一样建个数据库把... 启动数据库 利用命令提示符: 1.在创建数据库之前,我们应该启动数据库服务器 mongod --dbpath d:\MongoDB\data 注意:不要关闭这个数据库服务器...不然数据库就被关闭了 2.使用如下语句创建一个数据库 use mydb 这样mongodb会帮助我们自动创建他们,当然这个时候数据库还是空的. 3.

学习MongoDB--(11):应用举例(利用java操作MongoDB)

原文地址:http://blog.csdn.net/drifterj/article/details/7948090 目录地址:http://blog.csdn.net/DrifterJ/article/category/1191327/2 前面我们都是通过shell来操作存取MongoDB的数据,shell中使用的语言就是javascript.我们这次说一下如何通过Java来访问操作MongoDB数据库的. Java驱动程序是MongoDB最早的驱动,已用于生产环境很长时间,十分稳定.可以到M

【转】PHP操作MongoDB GridFS 存储文件

PHP操作MongoDB GridFS 存储文件,如图片文件 GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容,文件内容按一定大小分成若干块,每一块存在一个Document中,这种方法不仅提供了文件存储,还提供了对文件相关的一些附加属性(比如MD5值,文件名等等)的存储.

PHP操作Mongodb之增删改查篇

之前,我讲解过PHP中mongodb扩展的安装,及启动,链接操作[忘记了?去看看吧!PHP操作Mongodb之一].本文主要就是讲在PHP中Mongodb的增加,查询,修改及删除数据的操作. 1.增加数据 语法格式: $db->insert($array);  //参数表示需要插入的数据 例如:我们插入一个id为1,名称为PHP,年龄为25的数据.代码如下: <?php //连接数据库 $connnect = new Mongo("mongodb://127.0.0.1:27017&

java操作mongoDB实现CURD

java操作mongoDB mongoDB作为一个牛气哄哄的nosql内存数据库,的确有很多优点,对于大数据量.高并发.弱事务的互联网应用,MongoDB可以应对自如.接触到mongoDB 参考了下api实现了增删改查.mongoDB 是面向对象设计,不用写sql语句 直接操作api 方法 就可以实现,这会儿数据库语句写不好的娃娃们有福了.直接贴码: DataTest.java package com.zk.db; import java.net.UnknownHostException; im