Я пытаюсь удалить один конкретный документ, используя (_id) с pymongo, и я не могу этого сделать, какая-то идея.
спасибо
У меня есть этот код:
s = "ISODate('{0}')".format(nom_fitxer_clean)
#i generate the next string.. (ISODate('2018-11-07 00:00:00'))
myquery = { "_id": s }
#query string ({'_id': "ISODate('2018-10-07 00:00:00')"})
mycol.delete_one(myquery)
Я не получаю никаких ошибок и не удаляю документ.
Я думаю, что одним из возможных решений может быть замена ISODate на ObjectId в вашей строке запроса.
Более того, delete_one
удаляет первый объект, соответствующий вашему запросу. Итак, возможно, существует несколько объектов, соответствующих вашему запросу?
Я бы попробовал это, потому что «_id» обычно хранит объект типа ObjectId. Не могли бы вы опубликовать пример записи вашей базы данных?
Я пробовал это на своем локальном монго, и я думаю, вы забыли миллисекунды с Z в конце строки запроса pymongo :-) Это моя команда: db.getCollection('test').deleteOne({"_id": ISODate("1970-01-01T00:00:00.000Z")})
({'_id': "ObjectId ('2018-10-07 00:00:00')"}) вот так.. ?