如何在mongoengine python中聚合组
我正在尝试在如何在mongoengine python中聚合组,python,django,mongodb,mongoengine,Python,Django,Mongodb,Mongoengine,我正在尝试在MongoDB中聚合group 我们正在使用Python、django、Rest框架和Mongoengine 我的模型是这样的: class TestSnapshot(EmbeddedDocument): identifier = StringField() name = StringField() created = DateTimeField( default = datetime.datetime.now) class Test(Document):
MongoDB
中聚合group
我们正在使用Python
、django
、Rest框架
和Mongoengine
我的模型是这样的:
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
我做错了什么?我不熟悉python
和mongo
。
谢谢你的帮助:)
致以最良好的祝愿,
约翰尼我已经解决了这个问题,我做错了
models.Test.objects.filter(agreement__in = agreements).aggregate(
{"$group": { "_id": "$created" }}
)
无论如何,谢谢:)您尝试了聚合中的列表。这是个错误。如果可以的话,你可以给出广泛的答案。这将帮助其他人。