Проблема:
Для проекта мне нужно сравнить документ, который уже хранится в коллекции mongoDB, с диктовкой из файла json.если он не существует, я хочу добавить его в коллекцию.
То, что я пробовал
Я создал структуру if else, чтобы проверить, равен ли диктонарный файл из файла json документуиз коллекции mongoDB.
data.json:
{
"filename": "/file/location.txt",
"Date scanned": "Thu Jan 31 20:06:46 2019",
"Date Last Modified": "Fri Jan 11 20:13:39 2019",
"hash": "d4e5d5e11775eda8853c29f5b41287bfcd4ce643"
}
mongoDB:
{
'hash': 'd4e5d5e11775eda8853c29f5b41287bfcd4ce643',
'filename': '/file/location.txt'}
Код:
count = 0
for line in data[hostname['hostname']]:
file = data[hostname['hostname']][count]
filename = file['filename']
dbfile = db.hashedFiles.find_one({'filename': filename},
{'_id': False, 'Date Last Modified': False,
'Date scanned': False}, sort=[('_id', pymongo.DESCENDING)])
if filename != dbfile['filename'] or not dbfile:
db.hashedFiles.insert_one(file)
else:
if data[hostname['hostname']][count]['hash'] != dbfile:
print("Hash is not the same")
count += 1
Результат
Я проверил все значения с помощью операторов печати и проверки типов.но каждый раз он говорит, что они разные, и я не понимаю, почему.