@neuroepoc

Как в mongodb добавить записи только если они не существуют?

import pymongo
...
DATA=[{'title': 'sTitle1', 'info': 'sInfo1'}, {'title': 'sTitle2', 'info': 'sInfo2'}]
...
db = client.get_default_database()
yamaha = db['yamaha']
yamaha.insert_many([DATA])
...
DATA2=[{'title': 'sTitle3', 'info': 'sInfo3'}, {'title': 'sTitle2', 'info': 'sInfo2'}]

как добавить в yamaha массив DATA2 так, чтобы после этого в yamaha было только 3 записи?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
Здесь мы сравниваем по конкретному полю
for item in DATA2:
    yamaha.update({'title': item['title']}, {'$set': item}, upsert=True)


Если нужно сравнить по всему документу
for item in DATA2:
        search_result = yamaha.find_one(item)
        if search_result is None:
            yamaha.insert(item)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы