Mongodb架构结构 - 推送和弹出

时间:2011-02-02 17:40:24

标签: javascript python json mongodb

我想为集合提供类似以下架构的内容:

name1:
 - guid1 : [{ foo1}, {foo2}, .. {foo n}]
 - guid2 : [{ foo1}, {foo2}, .. {foo n}]

(1) 每个foo对象都是具有相同内部结构的字典 - 所以理想情况下我会在guid下面有一个字典,我可以附加其他数据 - 但这似乎不可能(或者是吗?)

(2) 我正在努力能够pop数据 - 我不知道如何将查询仅仅pop guid name1关闭{{1}}?

如果相关,我正在使用pymongo。

1 个答案:

答案 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()