使用$ sort和$ slice推送mongoengine

时间:2014-04-09 10:04:57

标签: python mongodb mongoengine

我想使用MongoEngine执行与this类似的操作,但没有$ each:

db.students.update( { _id: 5 },
                    { $push: { quizzes: { { wk: 5, score: 8 },
                                          $sort: { score: -1 },
                                          $slice: 3
                                        }
                             }
                    }
                  )

我知道我可以执行update/update_one(push__quizzes={wk: 5, score: 8})和(可能)update/update_one(push__quizzes={wk: 5, score: 8}, slice__quizzes=3)。这是对的吗?最后,最重要的是,如何添加等效的$ sort?

谢谢!

会产生错误Unexpected token {

1 个答案:

答案 0 :(得分:1)

从MongoDB的角度来看,你不能使用$ sort或$ slice作为$ push的一部分,而不是每个$,如MongoDB documentation中所述。