Как сравнить документ из коллекции mongoDB со списком json - PullRequest
0 голосов
/ 31 января 2019

Проблема:

Для проекта мне нужно сравнить документ, который уже хранится в коллекции 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

Результат

Я проверил все значения с помощью операторов печати и проверки типов.но каждый раз он говорит, что они разные, и я не понимаю, почему.

...