How to push an EmbeddedDocument inside another EmbeddedDocument on MongoEngine?

My application is a simple todo list, these are my classes with MongoEngine ...

class Task(EmbeddedDocument):
    content = StringField()
    slug = StringField()
    position = IntField()
    priority = IntField()
    status = IntField()

class List(EmbeddedDocument):
    name = StringField()
    slug = StringField()
    tasks = ListField(EmbeddedDocumentField(Task))

class User(Document):
    email = StringField()
    twitter = StringField()
    lists = ListField(EmbeddedDocumentField(List))

I click on user lists with ...

list = List()
list.name = request.form['name']
list.slug = slugify(request.form['name'])
User.objects(twitter=session['username']).update_one(push__lists=list)

The logic is that the user has several lists, and each list can have several tasks.

Now I want to click a task in a specific list, but I cannot find a way with MongoEngine. This approach could be something like this:

User.objects(twitter=session['username']).update_one(push__lists__listname__task=list)

What is the right way to do this?

+3
source share
1 answer

This is currently not possible with MongoDB or MongoEngine.

MongoEngine $positional, MongoDB - , ( , ).

todo, , .

+2

All Articles