我正在使用pymongo的map_reduce框架从mongodb中提取一些数据。这是我的数据的样子:
{
"_id" : ObjectId("566f570e3816dc2fe631db4f"),
"property_id" : 5594.0000000000000000,
"reservation_id" : "2544430.1",
"updated" : ISODate("2015-12-15T02:04:33.000Z"),
"offer_list" : {
"68799" : {
"pitched" : "no",
"accepted" : "no"
},
"68801" : {
"pitched" : "no",
"accepted" : "no"
}
},
"status" : "awarded",
"comments" : "",
"agent_id" : 1.0000000000000000,
"created" : ISODate("2015-12-14T23:55:52.000Z")
}
我需要在某个日期后使用 pymongo 获取每个代理的所有记录计数。
映射器函数如下所示:
mapper = Code("""function(){
if(this.created>start_date){
emit(this.agent_id, 1);
})
其中start_date是从 Python 代码传入的变量。
通过阅读文档,我认为应该设置范围,但我找不到有关如何执行此操作的任何文档。我对javascript一无所知。谁能帮忙?
提前感谢!
此问题已使用查询关键字修复。
collection.map_reduce(mapper, reducer, "myresults", query={"created":{"$gte":start_date, "$lt":end_date}})