mongo db删除字符串日期删除操作

时间:2017-02-07 09:32:22

标签: python mongodb python-2.7 python-3.x

我是python编程的新手,我在插入文档时做错了一些字段就像日期不是iso日期格式,我按原样插入,并再次更改日期格式并插入mongodb ,但有多个记录与相同的日期feild一个像iso和另一个是字符串日期格式我想删除总字符串格式的对象我所做的是:

db.attendance.deletemany({date:{$lte:new Date(2016, 12, 22)}})

我有像date:ISODate("2016-12-22T00:00:00.000+0000")这样的记录, 我需要删除任何一个字符串日期请帮助我

2 个答案:

答案 0 :(得分:0)

您可以做的最简单的事情是迭代所有值,如果符合您的条件,则删除它

from pymongo import MongoClient
client = MongoClient()
db = client.<your_db_name>
for document in db.attendance.find():
    if type(document['date']) == str:
        db.attendance.delete_one(document)

答案 1 :(得分:0)

您可以使用$type,如下所示:

db.attendance.remove("date":{$type:"string"})

这将删除date存储为string的所有文档。此处string是mongo中String data type的别名。如果您需要对其他数据类型执行操作,您可以看到BSON types