Django用mongoengine操作mongodb
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Django用mongoengine操作mongodb,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3376字,纯文字阅读大概需要5分钟。
内容图文
![Django用mongoengine操作mongodb](/upload/InfoBanner/zyjiaocheng/513/7381298089af4fcf91068e2ad40a64c8.jpg)
#####ReferenceField 引用字段
class Org(Document): owner = ReferenceField(‘User‘) class User(Document): org = ReferenceField(‘Org‘, reverse_delete_rule=CASCADE) User.register_delete_rule(Org, ‘owner‘, DENY)
2.创建集合
# model.py
from mongoengine import *
from datetime import datetime,timedeltaclass User(Document):
name = StringField(max_length=32)
age = IntField()
password = StringField(max_length=32
引用查询
from mongoengine import * from datetime import datetime,timedelta from ReferencenField import * import json from bson import json_util connect(‘mongotest‘) # 一对一引用查询 author = User.objects.filter(name="John Smith")[0] author2 = Page.objects.filter(content="test3 Page").first().author content = Page.objects.filter(author=a) content_ = Page.objects(author__in=[a]) print(author.name) print(author2.name) print(content_) for i in content: print(i.author.name,‘:‘,i.content) # 一对多引用查询 John_Smith = User.objects.filter(name="John Smith")[0] llz = User.objects.filter(name=‘lilinze‘)[0] # print(llz.name) print(‘查询作者是llz的Page‘) pages = Page.objects.filter(author=llz) for i in pages : print(i.content) print(‘查询作者是John_Smith的Page‘) pages = Page.objects.filter(author=John_Smith) for i in pages: print(i.content)
嵌入
from mongoengine import * from datetime import datetime,timedelta from bson.objectid import ObjectId connect(‘mongotest‘) class User(Document): name = StringField() pages= StringField() time = DateTimeField() class Tags(EmbeddedDocument): name = StringField() date = DateTimeField(default=datetime.now()) class Page(Document): content = StringField() quadrant =StringField() #两种嵌入写法 # tags = ListField(EmbeddedDocumentField(‘Tags‘)) tags = EmbeddedDocumentListField(‘Tags‘) author = ReferenceField(User,reverse_delete_rule = CASCADE) user = User.objects.get(name=‘llz‘) tag = Tags(name=‘123‘) tag1 = Tags(name=‘456‘) page = Page(content=‘嵌入1‘,quadrant=‘北面‘,tags=[tag,tag1],author=user) page.save()
Objectid转为字符串
John = User.objects.filter(name="John Smith")[0].id print(John) dict = {‘John‘:John} print(‘dict:‘,dict) # j_son = json.dumps(dict) print(‘--------ObjectId转为Json----------‘) data = json_util.dumps(John) print(‘data:‘,data) print(‘type:‘,type(data)) print(‘--------Json--to--dict----------‘) print(‘********************************‘) dd = json.loads(data) print(dd) print(type(dd)) print(dd[‘$oid‘]) print(type(dd[‘$oid‘])) dd_ = {‘$oid‘:dd[‘$oid‘]} jdd_ = json.dumps(dd_) objecdd_ = json_util.loads(jdd_) print(objecdd_) print(type(objecdd_)) print(‘********************************‘) print(‘--------Json--to--ObjectId----------‘) ObjectId = json_util.loads(data) print(ObjectId) print(type(ObjectId))
字符串转objectID
from bson.objectid import ObjectId a = ‘5bfe034c07aae823b440fdcf‘ # 判断是否符合object格式 if ObjectId.is_valid(a): A = ObjectId(a) print(A) # <class ‘bson.objectid.ObjectId‘>,id是bson print(isinstance(A,ObjectId)) # True
create() ,存入一个新对象,并返回
llzid = User.objects.create(name=‘zzz‘) print(llzid.name) >>>zzz
Django用mongoengine操作mongodb
标签:got mode 完全 翻译 lis god pre pytho tor
本文系统来源:https://www.cnblogs.com/yangyangming/p/11516121.html
内容总结
以上是互联网集市为您收集整理的Django用mongoengine操作mongodb全部内容,希望文章能够帮你解决Django用mongoengine操作mongodb所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。