簡體   English   中英

如何在mongoengine python中聚合組

[英]how to aggregate group in mongoengine python

我正在嘗試聚合MongoDB group

我們使用的是PythondjangoRest frameworkMongoengine

這就是我的模型的樣子:

class TestSnapshot(EmbeddedDocument):
    identifier = StringField()
name = StringField()
created = DateTimeField(
    default = datetime.datetime.now)

class Test(Document):
    agreement = ReferenceField(Agreement)
history = ListField(EmbeddedDocumentField(TestSnapshot))
created = DateTimeField(
    default = datetime.datetime.now)

在我看來:

test = models.Test.objects.filter(agreement__in = agreements).aggregate([{
    "$unwind": "$created"
}, {
    "$group": {
    "_id": "$created"
    }
}])
print test

但我得到了這樣的引用:

OperationFailure: command SON([('aggregate', u 'test'), ('pipeline', [{
    '$match': {
        'agreement': {
            '$in': [ObjectId('558b150a89f4ad3f33ebb8ae')]
        }
    }
    },
    [{
    '$unwind': '$created'
    }, {
    '$group': {
        '_id': '$created'
    }
    }]
]), ('cursor', {})]) on namespace noq.$cmd failed: exception: pipeline element 1 is not an object

我究竟做錯了什么? 我是mongo python新手。 謝謝你的幫助:)

最好的問候,約翰尼

我已經解決了這個問題,我做錯了。

models.Test.objects.filter(agreement__in = agreements).aggregate(
  {"$group": { "_id": "$created" }}
)

不管怎么說,還是要謝謝你 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM