我想为集合提供类似以下架构的内容:
name1:
- guid1 : [{ foo1}, {foo2}, .. {foo n}]
- guid2 : [{ foo1}, {foo2}, .. {foo n}]
(1)
每个foo
对象都是具有相同内部结构的字典 - 所以理想情况下我会在guid
下面有一个字典,我可以附加其他数据 - 但这似乎不可能(或者是吗?)
(2)
我正在努力能够pop
数据 - 我不知道如何将查询仅仅pop
guid
name1
关闭{{1}}?
如果相关,我正在使用pymongo。
答案 0 :(得分:1)
不要按照你的方式扳手,但是你是否考虑过使用MongoEngine?它位于pymongo之上,使得与mongoDB的合作变得更加愉快。看看吧。
所以你的mongoengine宣言看起来像这样:
from mongoengine import *
class Foo(EmbeddedDocument):
#Declare your Foo properties here
class Guid(EmbeddedDocument):
name = StringField()
foos = ListField(EmbeddedDocumentField(Foo))
class Name(Document):
title = StringField(required=True)
guids = ListField(EmbeddedDocumentField(Guid))
然后你可以获取你的名字并将其属性作为好对象循环,删除并弹出Guids,然后输入Name.save()