首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoengine..反转ListField中的项目

Mongoengine..反转ListField中的项目
EN

Stack Overflow用户
提问于 2012-03-03 14:22:43
回答 2查看 1.9K关注 0票数 2
代码语言:javascript
复制
class Example(Document):
    comments =  ListField(field=EmbeddedDocumentField('Comment'), db_field='z')

class Comment(EmbeddedDocument):
    comment = StringField()
    date = DateTimeField()

如何通过Comment EmbeddedDocument‘’date反转Comment listfield的结果?我的错误代码..就像..。

代码语言:javascript
复制
Example.objects().order_by('-comments__date')

有没有办法通过嵌入文档的日期来反转ListField?或者只是反转listfield?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-05 16:18:36

在mongoDB中,返回与find语句匹配的项。因此,执行以下操作:

代码语言:javascript
复制
Example.objects().order_by('-comments__date')

您只是按照最新的注释日期对Example对象进行了排序。查询语言用于匹配,因此不会更改返回列表的结果/顺序。如果您需要确保顺序,您可以使用SortedListField来确保列表在保存时被排序。然而,这里有一个可能的竞争条件,因为它设置了整个列表。$push运算符是最好的,但它意味着注释将是一个堆栈,并且最旧的将被附加到末尾。

对于自己的集合中的comments,可能需要另一种模式,或者在mongoDB 2.2中,可以使用聚合框架对注释本身进行排序。

票数 1
EN

Stack Overflow用户

发布于 2012-03-03 17:03:07

您应该尝试:

代码语言:javascript
复制
Example.objects().order_by('-comments.date')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9544030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档