gpt4 book ai didi

mongodb - mongoengine中的聚合

转载 作者:可可西里 更新时间:2023-11-01 09:54:04 26 4
gpt4 key购买 nike

我尝试在 mongoengine 中使用聚合但没有得到任何结果。初始代码:

result = Review.objects.aggregate([{'$match': {'status': 'Remind'}}])

但是我得到了错误:

command SON([('aggregate', u'review'), ('pipeline', [[{'$match': {'status': 'remind'}}]]), ('cursor', {})]) on namespace db_name.$cmd failed: exception: pipeline element 0 is not an object

引用各种links后,我更新了我的代码:

pipeline = [{ "$match": {'status': 'Remind' } }]
results = list(Review.objects.aggregate(*pipeline))
print 'result='+str(results)

现在,我没有收到任何异常或错误,但结果仍然是空的

result=[]

这是我的示例 mongodb 数据:

{
"_id" : ObjectId("599aaf826bc80b178a00ef1"),
"timestamp" : "on Mar 19, 2017",
"profile" : "Aditya Roy",
"status" : "Remind",
"created_on" : ISODate("2017-08-21T15:31:38.052Z")
}
{
"_id" : ObjectId("599aaf826bc80b178a00ef2"),
"timestamp" : "on Mar 16, 2017",
"profile" : "Shivam Singh",
"status" : "Remind",
"created_on" : ISODate("2017-08-21T15:31:38.778Z")
}
{
"_id" : ObjectId("599aaf836bc80b178a00ef3"),
"timestamp" : "on Mar 13, 2017",
"profile" : "Gautam Sharma",
"status" : "Closed"
"created_on" : ISODate("2017-08-21T15:31:39.526Z")
}

最佳答案

为了将来引用,以下是使用 mongoengine 的正确方法(适用于 mongoengine 0.18.0):Review.objects.aggregate({'$match': {'status': 'Remind'}})

其实mongoengine的aggregate接口(interface)和pymongo的aggregate接口(interface)是有区别的

关于mongodb - mongoengine中的聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45810888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com