2017-02-10 52 views
0

我是一个初学者mongodb和python,并且我试图编写python代码来删除基于日期字段的30天以上的多个集合的文档的NumberLong类型,并且还必须在删除之前将集合导出为CSV。我使用下面的简单代码通过使用新的Date()将记录打印为第一步。它在Mongo Shell中工作,但在python中声明语法error.please help失败。等价于python中的mongo shell的新日期()

的样本数据:

{ "_id" : ObjectId("589d6eb390cc70b775892ae1"), "trgtm" : NumberLong("1486280499661") } 
{ "_id" : ObjectId("589d602d2fa2fa6687bc7293"), "trgtm" : NumberLong("1486276781059") } 
{ "_id" : ObjectId("589d701f90cc70b775892ae2"), "trgtm" : NumberLong("1486194463192") } 
{ "_id" : ObjectId("589d702390cc70b775892ae3"), "trgtm" : NumberLong("1486108067444") } 

代码

import pymongo 
from pymongo import MongoClient 
conn=MongoClient('localhost',27017) 
db=conn.mydb 
col=db.test 
query= { "date": { "$lt": new Date(new Date()).getTime() - 30 * 24 * 60 * 60 * 1000 } } 
cursor=col.find(query) 
slice=cursor[0:100] 
for doc in slice: 
    print doc 

回答

0

我使用的日期时间为蟒蛇日期..

这是一个例子:

import datetime 
date = datetime.date(2017,2,10) 
otherDate = datetime.date(1999,1,1) 
date < otherDate # False 
+0

@ lka8谢谢,但日期需要与upd中显示的值进行比较ated post。 – lki