Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python从mongodb中提前24小时获取记录。?_Python_Mongodb_Mongodb Query - Fatal编程技术网

如何使用python从mongodb中提前24小时获取记录。?

如何使用python从mongodb中提前24小时获取记录。?,python,mongodb,mongodb-query,Python,Mongodb,Mongodb Query,从现在开始,我需要在24小时前从我的mongodb集合中删除记录 { "_id" : ObjectId("53993f67ccbc960c7d05b74d"), "userName" : "krishna", "countryCode" : "91", "countryName" : "India", "mobileNumber" : "99143xxxxx", "name" : "Krishna", "password" : "aXRvbkAxMjM=", "registeredOn" : I

从现在开始,我需要在24小时前从我的mongodb集合中删除记录

{
"_id" : ObjectId("53993f67ccbc960c7d05b74d"),
"userName" : "krishna",
"countryCode" : "91",
"countryName" : "India",
"mobileNumber" : "99143xxxxx",
"name" : "Krishna",
"password" : "aXRvbkAxMjM=",
"registeredOn" : ISODate("2014-06-12T05:49:27.970Z"),

}
{
"_id" : ObjectId("53993f67ccbc960c7d05b74e"),
"userName" : "mulagala",
"countryCode" : "91",
"countryName" : "India",
"mobileNumber" : "99122xxxxx",
"name" : "Krishna",
"password" : "aXRvbkAxMjM=",
"registeredOn" : ISODate("2014-06-16T05:49:27.970Z"),

}

现在我想从现在开始删除24小时前注册的记录。如何从python中删除它。提前感谢

您可以通过查询来解决这个问题,并定期运行它:

collection.remove({ 
    'registeredOn': { '$lte': datetime.now() - timedelta( hours=24 ) }
})
或者你可以看看。mongodb服务器每隔几分钟定期检查一次,无需编写任何其他代码:

db.collection.ensureIndex( { "registeredOn": 1 }, { expireAfterSeconds: 86400 } )

因此,如果您可以让它为您工作,并且不需要任何手动控制,那么它可能是应用程序的一个好方法。

您是否尝试过自己编写代码?@Ffisegydd,是的,我每10分钟调用一个线程进行检查,但是我不知道如何检查24小时时间的条件。你能提供到目前为止你有什么代码吗?